Merge JDK-8145252-TLS13-branch
authorwetmore
Thu, 24 May 2018 13:09:59 -0700
branchJDK-8145252-TLS13-branch
changeset 56607 78914bf16bee
parent 56606 0cabcf9cb31b (current diff)
parent 50258 25f93c5406bf (diff)
child 56608 34f33526b9a5
Merge
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BaseExecutableMemberTaglet.java
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BaseInlineTaglet.java
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/HiddenTaglet.java
--- a/.hgtags	Thu May 24 12:32:00 2018 -0700
+++ b/.hgtags	Thu May 24 13:09:59 2018 -0700
@@ -486,3 +486,4 @@
 3ab6ba9f94a9045a526d645af26c933235371d6f jdk-11+12
 758deedaae8406ae60147486107a54e9864aa7b0 jdk-11+13
 3595bd343b65f8c37818ebe6a4c343ddeb1a5f88 jdk-11+14
+a11c1cb542bbd1671d25b85efe7d09b983c48525 jdk-11+15
--- a/make/conf/jib-profiles.js	Thu May 24 12:32:00 2018 -0700
+++ b/make/conf/jib-profiles.js	Thu May 24 13:09:59 2018 -0700
@@ -184,7 +184,8 @@
 
     // Identifies the version of this format to the tool reading it.
     // 1.1 signifies that the publish, publish-src and get-src features are usable.
-    data.format_version = "1.1";
+    // 1.2 signifies that artifact uploads should fail on missing artifacts by default.
+    data.format_version = "1.2";
 
     // Organization, product and version are used when uploading/publishing build results
     data.organization = "";
--- a/make/test/JtregNativeHotspot.gmk	Thu May 24 12:32:00 2018 -0700
+++ b/make/test/JtregNativeHotspot.gmk	Thu May 24 13:09:59 2018 -0700
@@ -74,6 +74,11 @@
     -I$(VM_TESTBASE_DIR)/nsk/share/native \
     -I$(VM_TESTBASE_DIR)/nsk/share/jni
 
+RUNTIME_DEFMETH_INCLUDES := \
+    -I$(TOPDIR)/test/hotspot/jtreg/vmTestbase/nsk/share/jni \
+    -I$(TOPDIR)/test/hotspot/jtreg/vmTestbase/nsk/share/native \
+    -I$(TOPDIR)/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti
+
 NSK_SHARE_LOCKS_INCLUDES := \
     -I$(VM_TESTBASE_DIR)/nsk/share/native \
     -I$(VM_TESTBASE_DIR)/nsk/share/locks
@@ -124,6 +129,8 @@
 BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libLockingThreads := $(NSK_MONITORING_INCLUDES)
 BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libStackTraceController := $(NSK_MONITORING_INCLUDES)
 
+BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libredefineClasses := $(RUNTIME_DEFMETH_INCLUDES)
+
 BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libforceEarlyReturn005a := $(NSK_JDI_INCLUDES)
 
 BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libMonitorEnterExecutor := $(NSK_SHARE_JDI_INCLUDES)
@@ -183,6 +190,7 @@
     BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rwx := -z execstack
     BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libstepBreakPopReturn := -lpthread
     BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libIndyRedefineClass := -lpthread
+    BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libredefineClasses := -lpthread
     BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exeinvoke := -ljvm -lpthread
     BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exestack-gap := -ljvm -lpthread
     BUILD_TEST_exeinvoke_exeinvoke.c_OPTIMIZATION := NONE
--- a/src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp	Thu May 24 12:32:00 2018 -0700
+++ b/src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp	Thu May 24 13:09:59 2018 -0700
@@ -3851,7 +3851,9 @@
     __ sub(cnt1, cnt1, 8 * wordSize);
     __ eor(tmp7, tmp7, tmp8);
     __ ldp(tmp2, tmp4, Address(__ post(a2, 2 * wordSize)));
-    __ cmp(cnt1, loopThreshold);
+    // tmp6 is not used. MacroAssembler::subs is used here (rather than
+    // cmp) because subs allows an unlimited range of immediate operand.
+    __ subs(tmp6, cnt1, loopThreshold);
     __ orr(tmp5, tmp5, tmp7);
     __ cbnz(tmp5, NOT_EQUAL);
     __ br(__ GE, LOOP);
@@ -3877,7 +3879,7 @@
     __ ld1(v0, v1, v2, v3, __ T2D, Address(__ post(a1, 4 * 2 * wordSize)));
     __ sub(cnt1, cnt1, 8 * wordSize);
     __ ld1(v4, v5, v6, v7, __ T2D, Address(__ post(a2, 4 * 2 * wordSize)));
-    __ cmp(cnt1, loopThreshold);
+    __ subs(tmp1, cnt1, loopThreshold);
     __ eor(v0, __ T16B, v0, v4);
     __ eor(v1, __ T16B, v1, v5);
     __ eor(v2, __ T16B, v2, v6);
@@ -3936,7 +3938,7 @@
     }
     if (UseSIMDForArrayEquals) {
       if (SoftwarePrefetchHintDistance >= 0) {
-        __ cmp(cnt1, prefetchLoopThreshold);
+        __ subs(tmp1, cnt1, prefetchLoopThreshold);
         __ br(__ LE, NO_PREFETCH_LARGE_LOOP);
         generate_large_array_equals_loop_simd(prefetchLoopThreshold,
             /* prfm = */ true, NOT_EQUAL);
@@ -3949,7 +3951,7 @@
     } else {
       __ push(spilled_regs, sp);
       if (SoftwarePrefetchHintDistance >= 0) {
-        __ cmp(cnt1, prefetchLoopThreshold);
+        __ subs(tmp1, cnt1, prefetchLoopThreshold);
         __ br(__ LE, NO_PREFETCH_LARGE_LOOP);
         generate_large_array_equals_loop_nonsimd(prefetchLoopThreshold,
             /* prfm = */ true, NOT_EQUAL);
--- a/src/hotspot/share/classfile/classLoader.cpp	Thu May 24 12:32:00 2018 -0700
+++ b/src/hotspot/share/classfile/classLoader.cpp	Thu May 24 13:09:59 2018 -0700
@@ -711,8 +711,11 @@
 void ClassLoader::update_module_path_entry_list(const char *path, TRAPS) {
   assert(DumpSharedSpaces, "dump time only");
   struct stat st;
-  int ret = os::stat(path, &st);
-  assert(ret == 0, "module path must exist");
+  if (os::stat(path, &st) != 0) {
+    tty->print_cr("os::stat error %d (%s). CDS dump aborted (path was \"%s\").",
+      errno, os::errno_name(errno), path);
+    vm_exit_during_initialization();
+  }
   // File or directory found
   ClassPathEntry* new_entry = NULL;
   new_entry = create_class_path_entry(path, &st, true /* throw_exception */,
--- a/src/hotspot/share/opto/loopopts.cpp	Thu May 24 12:32:00 2018 -0700
+++ b/src/hotspot/share/opto/loopopts.cpp	Thu May 24 13:09:59 2018 -0700
@@ -1667,6 +1667,18 @@
         continue;
       }
 
+      // If use is referenced through control edge... (idx == 0)
+      if (mode == IgnoreStripMined && idx == 0) {
+        LoopNode *head = loop->_head->as_Loop();
+        if (head->is_strip_mined() && is_dominator(head->outer_loop_exit(), prev)) {
+          // That node is outside the inner loop, leave it outside the
+          // outer loop as well to not confuse verification code.
+          assert(!loop->_parent->is_member(use_loop), "should be out of the outer loop");
+          _igvn.replace_input_of(use, 0, head->outer_loop_exit());
+          continue;
+        }
+      }
+
       while(!outer_loop->is_member(get_loop(cfg))) {
         prev = cfg;
         cfg = cfg->_idx >= new_counter ? cfg->in(2) : idom(cfg);
--- a/src/java.base/share/classes/java/util/zip/Deflater.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/java.base/share/classes/java/util/zip/Deflater.java	Thu May 24 13:09:59 2018 -0700
@@ -75,7 +75,7 @@
  *
  *     // Decode the bytes into a String
  *     String outputString = new String(result, 0, resultLength, "UTF-8");
- * } catch(java.io.UnsupportedEncodingException ex) {
+ * } catch (java.io.UnsupportedEncodingException ex) {
  *     // handle
  * } catch (java.util.zip.DataFormatException ex) {
  *     // handle
--- a/src/java.base/share/classes/java/util/zip/DeflaterOutputStream.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/java.base/share/classes/java/util/zip/DeflaterOutputStream.java	Thu May 24 13:09:59 2018 -0700
@@ -54,7 +54,6 @@
     /**
      * Indicates that the stream has been closed.
      */
-
     private boolean closed = false;
 
     private final boolean syncFlush;
@@ -62,7 +61,7 @@
     /**
      * Creates a new output stream with the specified compressor,
      * buffer size and flush mode.
-
+     *
      * @param out the output stream
      * @param def the compressor ("deflater")
      * @param size the output buffer size
--- a/src/java.base/share/classes/java/util/zip/Inflater.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/java.base/share/classes/java/util/zip/Inflater.java	Thu May 24 13:09:59 2018 -0700
@@ -73,7 +73,7 @@
  *
  *     // Decode the bytes into a String
  *     String outputString = new String(result, 0, resultLength, "UTF-8");
- * } catch(java.io.UnsupportedEncodingException ex) {
+ * } catch (java.io.UnsupportedEncodingException ex) {
  *     // handle
  * } catch (java.util.zip.DataFormatException ex) {
  *     // handle
--- a/src/java.base/share/classes/java/util/zip/ZipConstants64.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/java.base/share/classes/java/util/zip/ZipConstants64.java	Thu May 24 13:09:59 2018 -0700
@@ -74,11 +74,12 @@
     static final int  ZIP64_EXTLEN = 16;      // uncompressed size, 8-byte
 
     /*
-     * Language encoding flag EFS
+     * Language encoding flag (general purpose flag bit 11)
+     *
+     * If this bit is set the filename and comment fields for this
+     * entry must be encoded using UTF-8.
      */
-    static final int EFS = 0x800;       // If this bit is set the filename and
-                                        // comment fields for this file must be
-                                        // encoded using UTF-8.
+    static final int USE_UTF8 = 0x800;
 
     /*
      * Constants below are defined here (instead of in ZipConstants)
--- a/src/java.base/share/classes/java/util/zip/ZipEntry.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/java.base/share/classes/java/util/zip/ZipEntry.java	Thu May 24 13:09:59 2018 -0700
@@ -354,7 +354,6 @@
      * or ZIP file formatted stream.
      *
      * @return The last access time of the entry, null if not specified
-
      * @see #setLastAccessTime(FileTime)
      * @since 1.8
      */
--- a/src/java.base/share/classes/java/util/zip/ZipFile.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/java.base/share/classes/java/util/zip/ZipFile.java	Thu May 24 13:09:59 2018 -0700
@@ -377,7 +377,7 @@
             ensureOpen();
             if (Objects.equals(lastEntryName, entry.name)) {
                 pos = lastEntryPos;
-            } else if (!zc.isUTF8() && (entry.flag & EFS) != 0) {
+            } else if (!zc.isUTF8() && (entry.flag & USE_UTF8) != 0) {
                 pos = zsrc.getEntryPos(zc.getBytesUTF8(entry.name), false);
             } else {
                 pos = zsrc.getEntryPos(zc.getBytes(entry.name), false);
@@ -519,7 +519,7 @@
 
         @Override
         @SuppressWarnings("unchecked")
-        public T  next() {
+        public T next() {
             synchronized (ZipFile.this) {
                 ensureOpen();
                 if (!hasNext()) {
@@ -605,7 +605,7 @@
     private String getEntryName(int pos) {
         byte[] cen = res.zsrc.cen;
         int nlen = CENNAM(cen, pos);
-        if (!zc.isUTF8() && (CENFLG(cen, pos) & EFS) != 0) {
+        if (!zc.isUTF8() && (CENFLG(cen, pos) & USE_UTF8) != 0) {
             return zc.toStringUTF8(cen, pos + CENHDR, nlen);
         } else {
             return zc.toString(cen, pos + CENHDR, nlen);
@@ -665,7 +665,7 @@
             // (1) null, invoked from iterator, or
             // (2) not equal to the name stored, a slash is appended during
             // getEntryPos() search.
-            if (!zc.isUTF8() && (flag & EFS) != 0) {
+            if (!zc.isUTF8() && (flag & USE_UTF8) != 0) {
                 name = zc.toStringUTF8(cen, pos + CENHDR, nlen);
             } else {
                 name = zc.toString(cen, pos + CENHDR, nlen);
@@ -684,7 +684,7 @@
         }
         if (clen != 0) {
             int start = pos + CENHDR + nlen + elen;
-            if (!zc.isUTF8() && (flag & EFS) != 0) {
+            if (!zc.isUTF8() && (flag & USE_UTF8) != 0) {
                 e.comment = zc.toStringUTF8(cen, start, clen);
             } else {
                 e.comment = zc.toString(cen, start, clen);
@@ -790,7 +790,7 @@
                         for (InputStream is : copy) {
                             try {
                                 is.close();
-                            }  catch (IOException e) {
+                            } catch (IOException e) {
                                 if (ioe == null) ioe = e;
                                 else ioe.addSuppressed(e);
                             }
@@ -805,9 +805,9 @@
                     try {
                         Source.release(zsrc);
                         zsrc = null;
-                     }  catch (IOException e) {
-                         if (ioe == null) ioe = e;
-                         else ioe.addSuppressed(e);
+                    } catch (IOException e) {
+                        if (ioe == null) ioe = e;
+                        else ioe.addSuppressed(e);
                     }
                 }
             }
@@ -928,7 +928,7 @@
      * Inner class implementing the input stream used to read a
      * (possibly compressed) zip file entry.
      */
-   private class ZipFileInputStream extends InputStream {
+    private class ZipFileInputStream extends InputStream {
         private volatile boolean closeRequested;
         private   long pos;     // current position within entry data
         protected long rem;     // number of remaining bytes within entry
@@ -947,7 +947,7 @@
             pos = - (pos + ZipFile.this.res.zsrc.locpos);
         }
 
-         private void checkZIP64(byte[] cen, int cenpos) {
+        private void checkZIP64(byte[] cen, int cenpos) {
             int off = cenpos + CENHDR + CENNAM(cen, cenpos);
             int end = off + CENEXT(cen, cenpos);
             while (off + 4 < end) {
@@ -984,11 +984,12 @@
             }
         }
 
-       /* The Zip file spec explicitly allows the LOC extra data size to
-        * be different from the CEN extra data size. Since we cannot trust
-        * the CEN extra data size, we need to read the LOC to determine
-        * the entry data offset.
-        */
+        /*
+         * The Zip file spec explicitly allows the LOC extra data size to
+         * be different from the CEN extra data size. Since we cannot trust
+         * the CEN extra data size, we need to read the LOC to determine
+         * the entry data offset.
+         */
         private long initDataOffset() throws IOException {
             if (pos <= 0) {
                 byte[] loc = new byte[LOCHDR];
@@ -1205,7 +1206,7 @@
                     }
                     Object fk = attrs.fileKey();
                     if (fk != null) {
-                        return  fk.equals(key.attrs.fileKey());
+                        return fk.equals(key.attrs.fileKey());
                     } else {
                         return file.equals(key.file);
                     }
@@ -1289,7 +1290,7 @@
         private final int readFullyAt(byte[] buf, int off, int len, long pos)
             throws IOException
         {
-            synchronized(zfile) {
+            synchronized (zfile) {
                 zfile.seek(pos);
                 int N = len;
                 while (N > 0) {
@@ -1305,7 +1306,7 @@
         private final int readAt(byte[] buf, int off, int len, long pos)
             throws IOException
         {
-            synchronized(zfile) {
+            synchronized (zfile) {
                 zfile.seek(pos);
                 return zfile.read(buf, off, len);
             }
@@ -1476,7 +1477,7 @@
             int hsh = 0;
             int pos = 0;
             int limit = cen.length - ENDHDR;
-            while (pos + CENHDR  <= limit) {
+            while (pos + CENHDR <= limit) {
                 if (i >= total) {
                     // This will only happen if the zip file has an incorrect
                     // ENDTOT field, which usually means it contains more than
@@ -1544,7 +1545,7 @@
              * array has enough room at the end to try again with a
              * slash appended if the first table lookup does not succeed.
              */
-            while(true) {
+            while (true) {
                 /*
                  * Search down the target hash chain for a entry whose
                  * 32 bit hash matches the hashed name.
--- a/src/java.base/share/classes/java/util/zip/ZipInputStream.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/java.base/share/classes/java/util/zip/ZipInputStream.java	Thu May 24 13:09:59 2018 -0700
@@ -98,7 +98,7 @@
     public ZipInputStream(InputStream in, Charset charset) {
         super(new PushbackInputStream(in, 512), new Inflater(true), 512);
         usesDefaultInflater = true;
-        if(in == null) {
+        if (in == null) {
             throw new NullPointerException("in is null");
         }
         if (charset == null)
@@ -283,7 +283,7 @@
         if (get32(tmpbuf, 0) != LOCSIG) {
             return null;
         }
-        // get flag first, we need check EFS.
+        // get flag first, we need check USE_UTF8.
         flag = get16(tmpbuf, LOCFLG);
         // get the entry name and create the ZipEntry first
         int len = get16(tmpbuf, LOCNAM);
@@ -295,8 +295,8 @@
             b = new byte[blen];
         }
         readFully(b, 0, len);
-        // Force to use UTF-8 if the EFS bit is ON, even the cs is NOT UTF-8
-        ZipEntry e = createZipEntry(((flag & EFS) != 0)
+        // Force to use UTF-8 if the USE_UTF8 bit is ON
+        ZipEntry e = createZipEntry(((flag & USE_UTF8) != 0)
                                     ? zc.toStringUTF8(b, len)
                                     : zc.toString(b, len));
         // now get the remaining fields for the entry
--- a/src/java.base/share/classes/java/util/zip/ZipOutputStream.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/java.base/share/classes/java/util/zip/ZipOutputStream.java	Thu May 24 13:09:59 2018 -0700
@@ -97,6 +97,7 @@
             throw new IOException("Stream closed");
         }
     }
+
     /**
      * Compression method for uncompressed (STORED) entries.
      */
@@ -232,7 +233,7 @@
             throw new ZipException("duplicate entry: " + e.name);
         }
         if (zc.isUTF8())
-            e.flag |= EFS;
+            e.flag |= USE_UTF8;
         current = new XEntry(e, written);
         xentries.add(current);
         writeLOC(current);
--- a/src/java.base/share/classes/java/util/zip/ZipUtils.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/java.base/share/classes/java/util/zip/ZipUtils.java	Thu May 24 13:09:59 2018 -0700
@@ -88,7 +88,6 @@
     }
 
     /**
-     /*
      * Converts DOS time to Java time (number of milliseconds since epoch).
      */
     public static long dosToJavaTime(long dtime) {
--- a/src/java.base/share/classes/java/util/zip/package-info.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/java.base/share/classes/java/util/zip/package-info.java	Thu May 24 13:09:59 2018 -0700
@@ -46,7 +46,7 @@
  *     <li><a id="lang_encoding">APPENDIX D of</a>
  *         <a href="http://www.pkware.com/documents/casestudies/APPNOTE.TXT">
  *         PKWARE ZIP File Format Specification</a> - Language Encoding Flag
- *         (EFS) to encode ZIP entry filename and comment fields using UTF-8.
+ *         to encode ZIP entry filename and comment fields using UTF-8.
  *     <li><a href="http://www.ietf.org/rfc/rfc1950.txt">
  *         ZLIB Compressed Data Format Specification version 3.3</a>
  *         &nbsp;
--- a/src/java.security.jgss/share/native/libj2gss/GSSLibStub.c	Thu May 24 12:32:00 2018 -0700
+++ b/src/java.security.jgss/share/native/libj2gss/GSSLibStub.c	Thu May 24 13:09:59 2018 -0700
@@ -192,6 +192,10 @@
   cb->initiator_addrtype = GSS_C_AF_NULLADDR;
   cb->acceptor_addrtype = GSS_C_AF_NULLADDR;
 
+  // addresses needs to be initialized to empty
+  memset(&cb->initiator_address, 0, sizeof(cb->initiator_address));
+  memset(&cb->acceptor_address, 0, sizeof(cb->acceptor_address));
+
   /* set up initiator address */
   jinetAddr = (*env)->CallObjectMethod(env, jcb,
       MID_ChannelBinding_getInitiatorAddr);
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java	Thu May 24 13:09:59 2018 -0700
@@ -3004,7 +3004,7 @@
             List<Type> saved_undet = resultInfo.checkContext.inferenceContext().save();
             try {
                 refResult = rs.resolveMemberReference(localEnv, that, that.expr.type,
-                        that.name, argtypes, typeargtypes, referenceCheck,
+                        that.name, argtypes, typeargtypes, targetInfo.descriptor, referenceCheck,
                         resultInfo.checkContext.inferenceContext(), rs.basicReferenceChooser);
             } finally {
                 resultInfo.checkContext.inferenceContext().rollback(saved_undet);
@@ -3060,7 +3060,7 @@
                 }
             }
 
-            that.sym = refSym.baseSymbol();
+            that.sym = refSym.isConstructor() ? refSym.baseSymbol() : refSym;
             that.kind = lookupHelper.referenceKind(that.sym);
             that.ownerAccessible = rs.isAccessible(localEnv, that.sym.enclClass());
 
@@ -3798,33 +3798,10 @@
                      Env<AttrContext> env,
                      ResultInfo resultInfo) {
             return (resultInfo.pt.hasTag(FORALL) || resultInfo.pt.hasTag(METHOD)) ?
-                    checkMethodId(tree, site, sym, env, resultInfo) :
+                    checkMethodIdInternal(tree, site, sym, env, resultInfo) :
                     checkIdInternal(tree, site, sym, resultInfo.pt, env, resultInfo);
         }
 
-        Type checkMethodId(JCTree tree,
-                     Type site,
-                     Symbol sym,
-                     Env<AttrContext> env,
-                     ResultInfo resultInfo) {
-            boolean isPolymorhicSignature =
-                (sym.baseSymbol().flags() & SIGNATURE_POLYMORPHIC) != 0;
-            return isPolymorhicSignature ?
-                    checkSigPolyMethodId(tree, site, sym, env, resultInfo) :
-                    checkMethodIdInternal(tree, site, sym, env, resultInfo);
-        }
-
-        Type checkSigPolyMethodId(JCTree tree,
-                     Type site,
-                     Symbol sym,
-                     Env<AttrContext> env,
-                     ResultInfo resultInfo) {
-            //recover original symbol for signature polymorphic methods
-            checkMethodIdInternal(tree, site, sym.baseSymbol(), env, resultInfo);
-            env.info.pendingResolutionPhase = Resolve.MethodResolutionPhase.BASIC;
-            return sym.type;
-        }
-
         Type checkMethodIdInternal(JCTree tree,
                      Type site,
                      Symbol sym,
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java	Thu May 24 13:09:59 2018 -0700
@@ -90,6 +90,7 @@
     private final JCDiagnostic.Factory diags;
     private final JavaFileManager fileManager;
     private final Source source;
+    private final Target target;
     private final Profile profile;
     private final boolean warnOnAnyAccessToMembers;
 
@@ -130,6 +131,7 @@
         fileManager = context.get(JavaFileManager.class);
 
         source = Source.instance(context);
+        target = Target.instance(context);
         warnOnAnyAccessToMembers = options.isSet("warnOnAccessToMembers");
 
         Target target = Target.instance(context);
@@ -1001,9 +1003,10 @@
                  !isTrustMeAllowedOnMethod(sym))) {
                 warnUnchecked(env.tree.pos(), Warnings.UncheckedGenericArrayCreation(argtype));
             }
-            if ((sym.baseSymbol().flags() & SIGNATURE_POLYMORPHIC) == 0) {
-                TreeInfo.setVarargsElement(env.tree, types.elemtype(argtype));
-            }
+            TreeInfo.setVarargsElement(env.tree, types.elemtype(argtype));
+         }
+         if ((sym.flags() & SIGNATURE_POLYMORPHIC) != 0 && !target.hasMethodHandles()) {
+            log.error(env.tree, Errors.BadTargetSigpolyCall(target, Target.JDK1_7));
          }
          return owntype;
     }
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java	Thu May 24 13:09:59 2018 -0700
@@ -883,8 +883,9 @@
                 Check.CheckContext checkContext = resultInfo.checkContext;
                 Type pt = resultInfo.pt;
                 if (!inferenceContext.inferencevars.contains(pt)) {
+                    Type descriptor = null;
                     try {
-                        types.findDescriptorType(pt);
+                        descriptor = types.findDescriptorType(pt);
                     } catch (Types.FunctionDescriptorLookupError ex) {
                         checkContext.report(null, ex.getDiagnostic());
                     }
@@ -893,14 +894,14 @@
                     exprTree = (JCExpression)attribSpeculative(tree.getQualifierExpression(), localEnv,
                             attr.memberReferenceQualifierResult(tree), argumentAttr.withLocalCacheContext());
                     ListBuffer<Type> argtypes = new ListBuffer<>();
-                    for (Type t : types.findDescriptorType(pt).getParameterTypes()) {
+                    for (Type t : descriptor.getParameterTypes()) {
                         argtypes.append(Type.noType);
                     }
                     JCMemberReference mref2 = new TreeCopier<Void>(make).copy(tree);
                     mref2.expr = exprTree;
                     Symbol lookupSym =
                             rs.resolveMemberReference(localEnv, mref2, exprTree.type,
-                                    tree.name, argtypes.toList(), List.nil(), rs.arityMethodCheck,
+                                    tree.name, argtypes.toList(), List.nil(), descriptor, rs.arityMethodCheck,
                                     inferenceContext, rs.structuralReferenceChooser).fst;
                     switch (lookupSym.kind) {
                         case WRONG_MTH:
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java	Thu May 24 13:09:59 2018 -0700
@@ -485,9 +485,7 @@
 
         //first determine the method symbol to be used to generate the sam instance
         //this is either the method reference symbol, or the bridged reference symbol
-        Symbol refSym = localContext.isSignaturePolymorphic()
-                ? localContext.sigPolySym
-                : tree.sym;
+        Symbol refSym = tree.sym;
 
         //the qualifying expression is treated as a special captured arg
         JCExpression init;
@@ -2309,17 +2307,10 @@
         final class ReferenceTranslationContext extends TranslationContext<JCMemberReference> {
 
             final boolean isSuper;
-            final Symbol sigPolySym;
 
             ReferenceTranslationContext(JCMemberReference tree) {
                 super(tree);
                 this.isSuper = tree.hasKind(ReferenceKind.SUPER);
-                this.sigPolySym = isSignaturePolymorphic()
-                        ? makePrivateSyntheticMethod(tree.sym.flags(),
-                                              tree.sym.name,
-                                              bridgedRefSig(),
-                                              tree.sym.enclClass())
-                        : null;
             }
 
             /**
@@ -2365,15 +2356,6 @@
             }
 
             /**
-             * Signature polymorphic methods need special handling.
-             * e.g. MethodHandle.invoke() MethodHandle.invokeExact()
-             */
-            final boolean isSignaturePolymorphic() {
-                return  tree.sym.kind == MTH &&
-                        types.isSignaturePolymorphic((MethodSymbol)tree.sym);
-            }
-
-            /**
              * Erasure destroys the implementation parameter subtype
              * relationship for intersection types.
              * Have similar problems for union types too.
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java	Thu May 24 13:09:59 2018 -0700
@@ -2648,6 +2648,7 @@
                 } else if (allowMethodHandles) {
                     MethodSymbol msym = (MethodSymbol)sym;
                     if ((msym.flags() & SIGNATURE_POLYMORPHIC) != 0) {
+                        env.info.pendingResolutionPhase = BASIC;
                         return findPolymorphicSignatureInstance(env, sym, argtypes);
                     }
                 }
@@ -2668,6 +2669,11 @@
                                             List<Type> argtypes) {
         Type mtype = infer.instantiatePolymorphicSignatureInstance(env,
                 (MethodSymbol)spMethod, currentResolutionContext, argtypes);
+        return findPolymorphicSignatureInstance(spMethod, mtype);
+    }
+
+    Symbol findPolymorphicSignatureInstance(final Symbol spMethod,
+                                            Type mtype) {
         for (Symbol sym : polymorphicSignatureScope.getSymbolsByName(spMethod.name)) {
             // Check that there is already a method symbol for the method
             // type and owner
@@ -2935,6 +2941,7 @@
                                   Name name,
                                   List<Type> argtypes,
                                   List<Type> typeargtypes,
+                                  Type descriptor,
                                   MethodCheck methodCheck,
                                   InferenceContext inferenceContext,
                                   ReferenceChooser referenceChooser) {
@@ -2972,6 +2979,15 @@
                 unboundEnv.info.pendingResolutionPhase :
                 boundEnv.info.pendingResolutionPhase;
 
+        if (!res.fst.kind.isResolutionError()) {
+            //handle sigpoly method references
+            MethodSymbol msym = (MethodSymbol)res.fst;
+            if ((msym.flags() & SIGNATURE_POLYMORPHIC) != 0) {
+                env.info.pendingResolutionPhase = BASIC;
+                res = new Pair<>(findPolymorphicSignatureInstance(msym, descriptor), res.snd);
+            }
+        }
+
         return res;
     }
 
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java	Thu May 24 13:09:59 2018 -0700
@@ -92,7 +92,6 @@
         log = Log.instance(context);
         syms = Symtab.instance(context);
         enter = Enter.instance(context);
-        bridgeSpans = new HashMap<>();
         types = Types.instance(context);
         make = TreeMaker.instance(context);
         resolve = Resolve.instance(context);
@@ -103,13 +102,6 @@
         attr = Attr.instance(context);
     }
 
-    /** A hashtable mapping bridge methods to the pair of methods they bridge.
-     *  The bridge overrides the first of the pair after type erasure and deflects
-     *  to the second of the pair (which differs in type erasure from the one
-     *  it overrides thereby necessitating the bridge)
-     */
-    Map<MethodSymbol, Pair<MethodSymbol, MethodSymbol>> bridgeSpans;
-
     /** Construct an attributed tree for a cast of expression to target type,
      *  unless it already has precisely that type.
      *  @param tree    The expression tree.
@@ -243,17 +235,12 @@
      *  @param meth    The method for which a bridge needs to be added
      *  @param impl    That method's implementation (possibly the method itself)
      *  @param origin  The class to which the bridge will be added
-     *  @param hypothetical
-     *                 True if the bridge method is not strictly necessary in the
-     *                 binary, but is represented in the symbol table to detect
-     *                 erasure clashes.
      *  @param bridges The list buffer to which the bridge will be added
      */
     void addBridge(DiagnosticPosition pos,
                    MethodSymbol meth,
                    MethodSymbol impl,
                    ClassSymbol origin,
-                   boolean hypothetical,
                    ListBuffer<JCTree> bridges) {
         make.at(pos);
         Type implTypeErasure = erasure(impl.type);
@@ -262,7 +249,6 @@
         Type bridgeType = meth.erasure(types);
         long flags = impl.flags() & AccessFlags | SYNTHETIC | BRIDGE |
                 (origin.isInterface() ? DEFAULT : 0);
-        if (hypothetical) flags |= HYPOTHETICAL;
         MethodSymbol bridge = new MethodSymbol(flags,
                                                meth.name,
                                                bridgeType,
@@ -273,38 +259,35 @@
         bridge.params = createBridgeParams(impl, bridge, bridgeType);
         bridge.setAttributes(impl);
 
-        if (!hypothetical) {
-            JCMethodDecl md = make.MethodDef(bridge, null);
+        JCMethodDecl md = make.MethodDef(bridge, null);
 
-            // The bridge calls this.impl(..), if we have an implementation
-            // in the current class, super.impl(...) otherwise.
-            JCExpression receiver = (impl.owner == origin)
-                ? make.This(origin.erasure(types))
-                : make.Super(types.supertype(origin.type).tsym.erasure(types), origin);
+        // The bridge calls this.impl(..), if we have an implementation
+        // in the current class, super.impl(...) otherwise.
+        JCExpression receiver = (impl.owner == origin)
+            ? make.This(origin.erasure(types))
+            : make.Super(types.supertype(origin.type).tsym.erasure(types), origin);
 
-            // The type returned from the original method.
-            Type calltype = implTypeErasure.getReturnType();
+        // The type returned from the original method.
+        Type calltype = implTypeErasure.getReturnType();
 
-            // Construct a call of  this.impl(params), or super.impl(params),
-            // casting params and possibly results as needed.
-            JCExpression call =
-                make.Apply(
-                           null,
-                           make.Select(receiver, impl).setType(calltype),
-                           translateArgs(make.Idents(md.params), implTypeErasure.getParameterTypes(), null))
-                .setType(calltype);
-            JCStatement stat = (implTypeErasure.getReturnType().hasTag(VOID))
-                ? make.Exec(call)
-                : make.Return(coerce(call, bridgeType.getReturnType()));
-            md.body = make.Block(0, List.of(stat));
+        // Construct a call of  this.impl(params), or super.impl(params),
+        // casting params and possibly results as needed.
+        JCExpression call =
+            make.Apply(
+                       null,
+                       make.Select(receiver, impl).setType(calltype),
+                       translateArgs(make.Idents(md.params), implTypeErasure.getParameterTypes(), null))
+            .setType(calltype);
+        JCStatement stat = (implTypeErasure.getReturnType().hasTag(VOID))
+            ? make.Exec(call)
+            : make.Return(coerce(call, bridgeType.getReturnType()));
+        md.body = make.Block(0, List.of(stat));
 
-            // Add bridge to `bridges' buffer
-            bridges.append(md);
-        }
+        // Add bridge to `bridges' buffer
+        bridges.append(md);
 
         // Add bridge to scope of enclosing class and keep track of the bridge span.
         origin.members().enter(bridge);
-        bridgeSpans.put(bridge, new Pair<>(meth, impl));
     }
 
     private List<VarSymbol> createBridgeParams(MethodSymbol impl, MethodSymbol bridge,
@@ -350,11 +333,10 @@
                            ClassSymbol origin,
                            ListBuffer<JCTree> bridges) {
         if (sym.kind == MTH &&
-            sym.name != names.init &&
-            (sym.flags() & (PRIVATE | STATIC)) == 0 &&
-            (sym.flags() & SYNTHETIC) != SYNTHETIC &&
-            sym.isMemberOf(origin, types))
-        {
+                sym.name != names.init &&
+                (sym.flags() & (PRIVATE | STATIC)) == 0 &&
+                (sym.flags() & SYNTHETIC) != SYNTHETIC &&
+                sym.isMemberOf(origin, types)) {
             MethodSymbol meth = (MethodSymbol)sym;
             MethodSymbol bridge = meth.binaryImplementation(origin, types);
             MethodSymbol impl = meth.implementation(origin, types, true);
@@ -362,8 +344,8 @@
                 bridge == meth ||
                 (impl != null && !bridge.owner.isSubClass(impl.owner, types))) {
                 // No bridge was added yet.
-                if (impl != null && isBridgeNeeded(meth, impl, origin.type)) {
-                    addBridge(pos, meth, impl, origin, bridge==impl, bridges);
+                if (impl != null && bridge != impl && isBridgeNeeded(meth, impl, origin.type)) {
+                    addBridge(pos, meth, impl, origin, bridges);
                 } else if (impl == meth
                            && impl.owner != origin
                            && (impl.flags() & FINAL) == 0
@@ -371,36 +353,7 @@
                            && (origin.flags() & PUBLIC) > (impl.owner.flags() & PUBLIC)) {
                     // this is to work around a horrible but permanent
                     // reflection design error.
-                    addBridge(pos, meth, impl, origin, false, bridges);
-                }
-            } else if ((bridge.flags() & SYNTHETIC) == SYNTHETIC) {
-                final Pair<MethodSymbol, MethodSymbol> bridgeSpan = bridgeSpans.get(bridge);
-                MethodSymbol other = bridgeSpan == null ? null : bridgeSpan.fst;
-                if (other != null && other != meth) {
-                    if (impl == null || !impl.overrides(other, origin, types, true)) {
-                        // Is bridge effectively also the bridge for `meth', if so no clash.
-                        MethodSymbol target = bridgeSpan == null ? null : bridgeSpan.snd;
-                        if (target == null || !target.overrides(meth, origin, types, true, false)) {
-                            // Bridge for other symbol pair was added
-                            log.error(pos, Errors.NameClashSameErasureNoOverride(
-                                    other.name, types.memberType(origin.type, other).asMethodType().getParameterTypes(),
-                                    other.location(origin.type, types),
-                                    meth.name, types.memberType(origin.type, meth).asMethodType().getParameterTypes(),
-                                    meth.location(origin.type, types)));
-                        }
-                    }
-                }
-            } else if (!bridge.overrides(meth, origin, types, true)) {
-                // Accidental binary override without source override.
-                // Don't diagnose the problem if it would already
-                // have been reported in the superclass
-                if (bridge.owner == origin ||
-                    types.asSuper(bridge.owner.type, meth.owner) == null) {
-                    log.error(pos, Errors.NameClashSameErasureNoOverride(
-                            bridge.name, types.memberType(origin.type, bridge).asMethodType().getParameterTypes(),
-                            bridge.location(origin.type, types),
-                            meth.name, types.memberType(origin.type, meth).asMethodType().getParameterTypes(),
-                            meth.location(origin.type, types)));
+                    addBridge(pos, meth, impl, origin, bridges);
                 }
             }
         }
@@ -539,16 +492,6 @@
         } finally {
             currentMethod = previousMethod;
         }
-
-        // Check that we do not introduce a name clash by erasing types.
-        for (Symbol sym : tree.sym.owner.members().getSymbolsByName(tree.name)) {
-            if (sym != tree.sym &&
-                types.isSameType(erasure(sym.type), tree.type)) {
-                log.error(tree.pos(),
-                          Errors.NameClashSameErasure(tree.sym, sym));
-                return;
-            }
-        }
     }
 
     public void visitVarDef(JCVariableDecl tree) {
@@ -689,9 +632,8 @@
             tree.varargsElement = types.erasure(tree.varargsElement);
         else
             if (tree.args.length() != argtypes.length()) {
-                log.error(tree.pos(),
-                          Errors.MethodInvokedWithIncorrectNumberArguments(tree.args.length(),
-                                                                           argtypes.length()));
+                Assert.error(String.format("Incorrect number of arguments; expected %d, found %d",
+                        tree.args.length(), argtypes.length()));
             }
         tree.args = translateArgs(tree.args, argtypes, tree.varargsElement);
 
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties	Thu May 24 13:09:59 2018 -0700
@@ -1098,10 +1098,6 @@
 compiler.err.signature.doesnt.match.intf=\
     signature does not match {0}; incompatible interfaces
 
-# 0: number, 1: number
-compiler.err.method.invoked.with.incorrect.number.arguments=\
-    method invoked with incorrect number of arguments; expected {0}, found {1}
-
 # 0: symbol, 1: symbol, 2: symbol
 compiler.err.does.not.override.abstract=\
     {0} is not abstract and does not override abstract method {1} in {2}
@@ -1723,6 +1719,11 @@
     cast to {0} for a varargs call\n\
     cast to {1} for a non-varargs call and to suppress this warning
 
+# 0: target, 1: target
+compiler.err.bad.target.sigpoly.call=\
+    polymorphic signature calls are not supported in -target {0}\n\
+    (use -target {1} or higher to enable polymorphic signature calls)
+
 # 0: list of type
 compiler.warn.unreachable.catch=\
     unreachable catch clause\n\
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java	Thu May 24 13:09:59 2018 -0700
@@ -44,7 +44,6 @@
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlVersion;
-import jdk.javadoc.internal.doclets.formats.html.markup.Links;
 import jdk.javadoc.internal.doclets.toolkit.BaseConfiguration;
 import jdk.javadoc.internal.doclets.toolkit.Content;
 import jdk.javadoc.internal.doclets.toolkit.DocletException;
@@ -367,7 +366,7 @@
         docPaths = new DocPaths(utils, useModuleDirectories);
         setCreateOverview();
         setTopFile(docEnv);
-        workArounds.initDocLint(doclintOpts.values(), tagletManager.getCustomTagNames(),
+        workArounds.initDocLint(doclintOpts.values(), tagletManager.getAllTagletNames(),
                 Utils.toLowerCase(htmlVersion.name()));
         return true;
     }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java	Thu May 24 13:09:59 2018 -0700
@@ -184,7 +184,7 @@
         DocFile f;
         if (configuration.stylesheetfile.length() == 0) {
             f = DocFile.createFileForOutput(configuration, DocPaths.STYLESHEET);
-            f.copyResource(DocPaths.RESOURCES.resolve(DocPaths.STYLESHEET), false, true);
+            f.copyResource(DocPaths.RESOURCES.resolve(DocPaths.STYLESHEET), true, true);
         }
         f = DocFile.createFileForOutput(configuration, DocPaths.JAVASCRIPT);
         f.copyResource(DocPaths.RESOURCES.resolve(DocPaths.JAVASCRIPT), true, true);
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java	Thu May 24 13:09:59 2018 -0700
@@ -332,7 +332,7 @@
         }
         Content output = new ContentBuilder();
         TagletWriter.genTagOutput(configuration.tagletManager, e,
-            configuration.tagletManager.getCustomTaglets(e),
+            configuration.tagletManager.getBlockTaglets(e),
                 getTagletWriterInstance(false), output);
         dl.addContent(output);
         htmltree.addContent(dl);
@@ -348,7 +348,7 @@
     protected boolean hasSerializationOverviewTags(VariableElement field) {
         Content output = new ContentBuilder();
         TagletWriter.genTagOutput(configuration.tagletManager, field,
-                configuration.tagletManager.getCustomTaglets(field),
+                configuration.tagletManager.getBlockTaglets(field),
                 getTagletWriterInstance(false), output);
         return !output.isEmpty();
     }
@@ -644,25 +644,29 @@
     /**
      * Add the link to the content tree.
      *
-     * @param typeElement program element typeElement for which the link will be added
+     * @param element program element for which the link will be added
      * @param label label for the link
      * @param htmltree the content tree to which the link will be added
      */
-    public void addSrcLink(Element typeElement, Content label, Content htmltree) {
-        if (typeElement == null) {
+    public void addSrcLink(Element element, Content label, Content htmltree) {
+        if (element == null) {
             return;
         }
-        TypeElement te = utils.getEnclosingTypeElement(typeElement);
+        TypeElement te = utils.getEnclosingTypeElement(element);
         if (te == null) {
             // must be a typeElement since in has no containing class.
-            te = (TypeElement) typeElement;
+            te = (TypeElement) element;
         }
-        DocPath href = pathToRoot
-                .resolve(DocPaths.SOURCE_OUTPUT)
-                .resolve(docPaths.forClass(te));
-        Content linkContent = links.createLink(href
-                .fragment(SourceToHTMLConverter.getAnchorName(utils, typeElement)), label, "", "");
-        htmltree.addContent(linkContent);
+        if (utils.isIncluded(te)) {
+            DocPath href = pathToRoot
+                    .resolve(DocPaths.SOURCE_OUTPUT)
+                    .resolve(docPaths.forClass(te));
+            Content content = links.createLink(href
+                    .fragment(SourceToHTMLConverter.getAnchorName(utils, element)), label, "", "");
+            htmltree.addContent(content);
+        } else {
+            htmltree.addContent(label);
+        }
     }
 
     /**
@@ -1301,7 +1305,7 @@
         };
         CommentHelper ch = utils.getCommentHelper(element);
         // Array of all possible inline tags for this javadoc run
-        configuration.tagletManager.checkTags(utils, element, tags, true);
+        configuration.tagletManager.checkTags(element, tags, true);
         commentRemoved = false;
 
         for (ListIterator<? extends DocTree> iterator = tags.listIterator(); iterator.hasNext();) {
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -200,7 +200,7 @@
     public void addMemberTags(VariableElement field, Content contentTree) {
         Content tagContent = new ContentBuilder();
         TagletWriter.genTagOutput(configuration.tagletManager, field,
-                configuration.tagletManager.getCustomTaglets(field),
+                configuration.tagletManager.getBlockTaglets(field),
                 writer.getTagletWriterInstance(false), tagContent);
         Content dlTags = new HtmlTree(HtmlTag.DL);
         dlTags.addContent(tagContent);
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java	Thu May 24 13:09:59 2018 -0700
@@ -352,6 +352,11 @@
      */
     public boolean disableJavaFxStrictChecks = false;
 
+    /**
+     * Show taglets (internal debug switch)
+     */
+    public boolean showTaglets = false;
+
     VisibleMemberCache visibleMemberCache = null;
 
     public PropertyUtils propertyUtils = null;
@@ -727,7 +732,14 @@
                         disableJavaFxStrictChecks = true;
                         return true;
                     }
-                }
+                },
+                new Hidden(resources, "--show-taglets") {
+                    @Override
+                    public boolean process(String opt, List<String> args) {
+                        showTaglets = true;
+                        return true;
+                    }
+                },
         };
         Set<Doclet.Option> set = new TreeSet<>();
         set.addAll(Arrays.asList(options));
@@ -814,25 +826,32 @@
                 continue;
             }
             List<String> tokens = tokenize(args.get(1), TagletManager.SIMPLE_TAGLET_OPT_SEPARATOR, 3);
-            if (tokens.size() == 1) {
-                String tagName = args.get(1);
-                if (tagletManager.isKnownCustomTag(tagName)) {
-                    //reorder a standard tag
-                    tagletManager.addNewSimpleCustomTag(tagName, null, "");
-                } else {
-                    //Create a simple tag with the heading that has the same name as the tag.
-                    StringBuilder heading = new StringBuilder(tagName + ":");
-                    heading.setCharAt(0, Character.toUpperCase(tagName.charAt(0)));
-                    tagletManager.addNewSimpleCustomTag(tagName, heading.toString(), "a");
-                }
-            } else if (tokens.size() == 2) {
-                //Add simple taglet without heading, probably to excluding it in the output.
-                tagletManager.addNewSimpleCustomTag(tokens.get(0), tokens.get(1), "");
-            } else if (tokens.size() >= 3) {
-                tagletManager.addNewSimpleCustomTag(tokens.get(0), tokens.get(2), tokens.get(1));
-            } else {
-                Messages messages = getMessages();
-                messages.error("doclet.Error_invalid_custom_tag_argument", args.get(1));
+            switch (tokens.size()) {
+                case 1:
+                    String tagName = args.get(1);
+                    if (tagletManager.isKnownCustomTag(tagName)) {
+                        //reorder a standard tag
+                        tagletManager.addNewSimpleCustomTag(tagName, null, "");
+                    } else {
+                        //Create a simple tag with the heading that has the same name as the tag.
+                        StringBuilder heading = new StringBuilder(tagName + ":");
+                        heading.setCharAt(0, Character.toUpperCase(tagName.charAt(0)));
+                        tagletManager.addNewSimpleCustomTag(tagName, heading.toString(), "a");
+                    }
+                    break;
+
+                case 2:
+                    //Add simple taglet without heading, probably to excluding it in the output.
+                    tagletManager.addNewSimpleCustomTag(tokens.get(0), tokens.get(1), "");
+                    break;
+
+                case 3:
+                    tagletManager.addNewSimpleCustomTag(tokens.get(0), tokens.get(2), tokens.get(1));
+                    break;
+
+                default:
+                    Messages messages = getMessages();
+                    messages.error("doclet.Error_invalid_custom_tag_argument", args.get(1));
             }
         }
     }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties	Thu May 24 13:09:59 2018 -0700
@@ -172,7 +172,6 @@
 doclet.Constructor_Detail=Constructor Detail
 doclet.Deprecated=Deprecated.
 doclet.DeprecatedForRemoval=Deprecated, for removal: This API element is subject to removal in a future version.
-doclet.Hidden=Hidden
 doclet.Groupname_already_used=In -group option, groupname already used: {0}
 doclet.value_tag_invalid_reference={0} (referenced by @value tag) is an unknown reference.
 doclet.value_tag_invalid_constant=@value tag (which references {0}) can only be used in constants.
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BaseExecutableMemberTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package jdk.javadoc.internal.doclets.toolkit.taglets;
-
-/**
- * An abstract class for that implements the {@link Taglet} interface
- * for tags in <code>ExecutableMembers</code>.
- *
- *  <p><b>This is NOT part of any supported API.
- *  If you write code that depends on this, you do so at your own risk.
- *  This code and its internal interfaces are subject to change or
- *  deletion without notice.</b>
- *
- * @author Jamie Ho
- */
-public abstract class BaseExecutableMemberTaglet extends BaseTaglet {
-
-    /**
-     * Return true if this <code>Taglet</code>
-     * is used in field documentation.
-     * @return true if this <code>Taglet</code>
-     * is used in field documentation and false
-     * otherwise.
-     */
-    public boolean inField() {
-        return false;
-    }
-
-    /**
-     * Return true if this <code>Taglet</code>
-     * is used in overview documentation.
-     * @return true if this <code>Taglet</code>
-     * is used in overview documentation and false
-     * otherwise.
-     */
-    public boolean inOverview() {
-        return false;
-    }
-
-    /**
-     * Return true if this <code>Taglet</code>
-     * is used in module documentation.
-     * @return true if this <code>Taglet</code>
-     * is used in module documentation and false
-     * otherwise.
-     */
-    public boolean inModule() {
-        return false;
-    }
-
-    /**
-     * Return true if this <code>Taglet</code>
-     * is used in package documentation.
-     * @return true if this <code>Taglet</code>
-     * is used in package documentation and false
-     * otherwise.
-     */
-    public boolean inPackage() {
-        return false;
-    }
-
-    /**
-     * Return true if this <code>Taglet</code>
-     * is used in type documentation (classes or interfaces).
-     * @return true if this <code>Taglet</code>
-     * is used in type documentation and false
-     * otherwise.
-     */
-    public boolean inType() {
-        return false;
-    }
-
-    /**
-     * Return true if this <code>Taglet</code>
-     * is an inline tag.
-     * @return true if this <code>Taglet</code>
-     * is an inline tag and false otherwise.
-     */
-    public boolean isInlineTag() {
-        return false;
-    }
-}
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BaseInlineTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package jdk.javadoc.internal.doclets.toolkit.taglets;
-
-/**
- * An abstract inline taglet that outputs HTML.
- *
- *  <p><b>This is NOT part of any supported API.
- *  If you write code that depends on this, you do so at your own risk.
- *  This code and its internal interfaces are subject to change or
- *  deletion without notice.</b>
- *
- * @author Jamie Ho
- */
-
-public abstract class BaseInlineTaglet extends BaseTaglet {
-
-    /**
-     * Will return true since this is an inline tag.
-     * @return true since this is an inline tag.
-     */
-    public boolean isInlineTag() {
-        return true;
-    }
-}
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BasePropertyTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BasePropertyTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
 
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
+import java.util.EnumSet;
 import javax.lang.model.element.Element;
 
 import com.sun.source.doctree.DocTree;
@@ -42,7 +43,8 @@
  */
 public abstract class BasePropertyTaglet extends BaseTaglet {
 
-    public BasePropertyTaglet() {
+    public BasePropertyTaglet(String name) {
+        super(name, false, EnumSet.of(Site.METHOD));
     }
 
     /**
@@ -66,58 +68,4 @@
     public Content getTagletOutput(Element element, DocTree tag, TagletWriter tagletWriter) {
         return tagletWriter.propertyTagOutput(element, tag, getText(tagletWriter));
     }
-
-    /**
-     * Will return false because this tag may
-     * only appear in Methods.
-     * @return false since this is not a method.
-     */
-    public boolean inConstructor() {
-        return false;
-    }
-
-    /**
-     * Will return false because this tag may
-     * only appear in Methods.
-     * @return false since this is not a method.
-     */
-    public boolean inOverview() {
-        return false;
-    }
-
-    /**
-     * Will return false because this tag may
-     * only appear in Methods.
-     * @return false since this is not a method.
-     */
-    public boolean inModule() {
-        return false;
-    }
-
-    /**
-     * Will return false because this tag may
-     * only appear in Methods.
-     * @return false since this is not a method.
-     */
-    public boolean inPackage() {
-        return false;
-    }
-
-    /**
-     * Will return false because this tag may
-     * only appear in Methods.
-     * @return false since this is not a method.
-     */
-    public boolean inType() {
-        return false;
-    }
-
-    /**
-     * Will return false because this tag is not inline.
-     * @return false since this is not an inline tag.
-     */
-    public boolean isInlineTag() {
-        return false;
-    }
-
 }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BaseTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BaseTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,13 +25,14 @@
 
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
+import java.util.Set;
 import javax.lang.model.element.Element;
 
 import com.sun.source.doctree.DocTree;
 import jdk.javadoc.internal.doclets.toolkit.Content;
 
 /**
- * An abstract class for that implements the {@link Taglet} interface.
+ * A base class that implements the {@link Taglet} interface.
  *
  *  <p><b>This is NOT part of any supported API.
  *  If you write code that depends on this, you do so at your own risk.
@@ -40,100 +41,98 @@
  *
  * @author Jamie Ho
  */
-public abstract class BaseTaglet implements Taglet {
-
-    protected String name = "Default";
-
+public class BaseTaglet implements Taglet {
     /**
-     * Return true if this <code>Taglet</code>
-     * is used in constructor documentation.
-     * @return true if this <code>Taglet</code>
-     * is used in constructor documentation and false
-     * otherwise.
+     * The different kinds of place where any given tag may be used.
      */
-    public boolean inConstructor() {
-        return true;
+    enum Site {
+        OVERVIEW, MODULE, PACKAGE, TYPE, CONSTRUCTOR, METHOD, FIELD
+    }
+
+    protected final String name;
+    private final boolean inline;
+    private final Set<Site> sites;
+
+    BaseTaglet(String name, boolean inline, Set<Site> sites) {
+        this.name = name;
+        this.inline = inline;
+        this.sites = sites;
     }
 
     /**
-     * Return true if this <code>Taglet</code>
-     * is used in field documentation.
-     * @return true if this <code>Taglet</code>
-     * is used in field documentation and false
+     * Returns true if this {@code Taglet} can be used in constructor documentation.
+     * @return true if this {@code Taglet} can be used in constructor documentation and false
      * otherwise.
      */
-    public boolean inField() {
-        return true;
+    public final boolean inConstructor() {
+        return sites.contains(Site.CONSTRUCTOR);
     }
 
     /**
-     * Return true if this <code>Taglet</code>
-     * is used in method documentation.
-     * @return true if this <code>Taglet</code>
-     * is used in method documentation and false
+     * Returns true if this {@code Taglet} can be used in field documentation.
+     * @return true if this {@code Taglet} can be used in field documentation and false
      * otherwise.
      */
-    public boolean inMethod() {
-        return true;
+    public final boolean inField() {
+        return  sites.contains(Site.FIELD);
+    }
+
+    /**
+     * Returns true if this {@code Taglet} can be used in method documentation.
+     * @return true if this {@code Taglet} can be used in method documentation and false
+     * otherwise.
+     */
+    public final boolean inMethod() {
+        return  sites.contains(Site.METHOD);
     }
 
     /**
-     * Return true if this <code>Taglet</code>
-     * is used in overview documentation.
-     * @return true if this <code>Taglet</code>
-     * is used in method documentation and false
+     * Returns true if this {@code Taglet} can be used in overview documentation.
+     * @return true if this {@code Taglet} can be used in method documentation and false
      * otherwise.
      */
-    public boolean inOverview() {
-        return true;
+    public final boolean inOverview() {
+        return  sites.contains(Site.OVERVIEW);
     }
 
     /**
-     * Return true if this <code>Taglet</code>
-     * is used in module documentation.
-     * @return true if this <code>Taglet</code>
-     * is used in module documentation and false
+     * Returns true if this {@code Taglet} can be used in module documentation.
+     * @return true if this {@code Taglet} can be used in module documentation and false
      * otherwise.
      */
-    public boolean inModule() {
-        return true;
+    public final boolean inModule() {
+        return  sites.contains(Site.MODULE);
     }
 
     /**
-     * Return true if this <code>Taglet</code>
-     * is used in package documentation.
-     * @return true if this <code>Taglet</code>
-     * is used in package documentation and false
+     * Returns true if this {@code Taglet} can be used in package documentation.
+     * @return true if this {@code Taglet} can be used in package documentation and false
      * otherwise.
      */
-    public boolean inPackage() {
-        return true;
+    public final boolean inPackage() {
+        return  sites.contains(Site.PACKAGE);
     }
 
     /**
-     * Return true if this <code>Taglet</code>
-     * is used in type documentation (classes or interfaces).
-     * @return true if this <code>Taglet</code>
-     * is used in type documentation and false
+     * Returns true if this {@code Taglet} can be used in type documentation (classes or interfaces).
+     * @return true if this {@code Taglet} can be used in type documentation and false
      * otherwise.
      */
-    public boolean inType() {
-        return true;
+    public final boolean inType() {
+        return  sites.contains(Site.TYPE);
     }
 
     /**
-     * Return true if this <code>Taglet</code>
-     * is an inline tag.
-     * @return true if this <code>Taglet</code>
-     * is an inline tag and false otherwise.
+     * Returns true if this {@code Taglet} is an inline tag.
+     * @return true if this {@code Taglet} represents an inline tag and false otherwise.
      */
-    public boolean isInlineTag() {
-        return false;
+    public final boolean isInlineTag() {
+        return inline;
     }
 
     /**
-     * Return the name of this custom tag.
-     * @return the name of this custom tag.
+     * Returns the name of this tag.
+     * @return the name of this tag.
      */
     public String getName() {
         return name;
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/CodeTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/CodeTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,14 +25,14 @@
 
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
-import java.util.Map;
+import java.util.EnumSet;
 
 import javax.lang.model.element.Element;
 
 import com.sun.source.doctree.DocTree;
 import jdk.javadoc.internal.doclets.toolkit.Content;
 
-import static com.sun.source.doctree.DocTree.Kind.*;
+import static com.sun.source.doctree.DocTree.Kind.CODE;
 
 /**
  * An inline Taglet used to denote literal code fragments.
@@ -54,17 +54,13 @@
  * @author Scott Seligman
  */
 
-public class CodeTaglet extends BaseInlineTaglet {
+public class CodeTaglet extends BaseTaglet {
 
-    private static final String NAME = CODE.tagName;
-
-    public String getName() {
-        return NAME;
+    CodeTaglet() {
+        super(CODE.tagName, true, EnumSet.allOf(Site.class));
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public Content getTagletOutput(Element element, DocTree tag, TagletWriter writer) {
         return writer.codeTagOutput(element, tag);
     }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/DeprecatedTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/DeprecatedTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,12 +25,13 @@
 
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
+import java.util.EnumSet;
 import javax.lang.model.element.Element;
 
 import com.sun.source.doctree.DocTree;
 import jdk.javadoc.internal.doclets.toolkit.Content;
 
-import static com.sun.source.doctree.DocTree.Kind.*;
+import static com.sun.source.doctree.DocTree.Kind.DEPRECATED;
 
 /**
  * A taglet that represents the @deprecated tag.
@@ -43,15 +44,14 @@
  * @author Jamie Ho
  */
 
-public class DeprecatedTaglet extends BaseTaglet{
+public class DeprecatedTaglet extends BaseTaglet {
 
     public DeprecatedTaglet() {
-        name = DEPRECATED.tagName;
+        super(DEPRECATED.tagName, false,
+                EnumSet.of(Site.MODULE, Site.TYPE, Site.CONSTRUCTOR, Site.METHOD, Site.FIELD));
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public Content getTagletOutput(Element holder, TagletWriter writer) {
         return writer.deprecatedTagOutput(holder);
     }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/DocRootTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/DocRootTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,12 +25,13 @@
 
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
+import java.util.EnumSet;
 import javax.lang.model.element.Element;
 
 import com.sun.source.doctree.DocTree;
 import jdk.javadoc.internal.doclets.toolkit.Content;
 
-import static com.sun.source.doctree.DocTree.Kind.*;
+import static com.sun.source.doctree.DocTree.Kind.DOC_ROOT;
 
 /**
  * An inline Taglet representing {&#064;docRoot}.  This taglet is
@@ -46,25 +47,16 @@
  * @author Doug Kramer
  */
 
-public class DocRootTaglet extends BaseInlineTaglet {
-
+public class DocRootTaglet extends BaseTaglet {
 
     /**
      * Construct a new DocRootTaglet.
      */
     public DocRootTaglet() {
-        name = DOC_ROOT.tagName;
+        super(DOC_ROOT.tagName, true, EnumSet.allOf(Site.class));
     }
 
-    /**
-     * Given a <code>Doc</code> object, check if it holds any tags of
-     * this type.  If it does, return the string representing the output.
-     * If it does not, return null.
-     * @param holder
-     * @param tag a tag representing the custom tag.
-     * @param writer a {@link TagletWriter} Taglet writer.
-     * @return the string representation of this <code>Tag</code>.
-     */
+    @Override
     public Content getTagletOutput(Element holder, DocTree tag, TagletWriter writer) {
         return writer.getDocRootOutput();
     }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/HiddenTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package jdk.javadoc.internal.doclets.toolkit.taglets;
-
-import javax.lang.model.element.Element;
-
-import jdk.javadoc.internal.doclets.toolkit.Content;
-
-import static com.sun.source.doctree.DocTree.Kind.*;
-
-/**
- * A taglet that represents the @hidden tag.
- *
- *  <p><b>This is NOT part of any supported API.
- *  If you write code that depends on this, you do so at your own risk.
- *  This code and its internal interfaces are subject to change or
- *  deletion without notice.</b>
- */
-
-public class HiddenTaglet extends BaseTaglet{
-
-    public HiddenTaglet() {
-        name = HIDDEN.tagName;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Content getTagletOutput(Element holder, TagletWriter writer) {
-        return writer.deprecatedTagOutput(holder);
-    }
-}
-
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/IndexTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/IndexTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,11 +25,14 @@
 
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
+import java.util.EnumSet;
+import javax.lang.model.element.Element;
+
 import com.sun.source.doctree.DocTree;
-import java.util.Map;
-import javax.lang.model.element.Element;
 import jdk.javadoc.internal.doclets.toolkit.Content;
 
+import static com.sun.source.doctree.DocTree.Kind.INDEX;
+
 /**
  * An inline Taglet used to index word or a phrase.
  * The enclosed text is interpreted as not containing HTML markup or
@@ -38,17 +41,13 @@
  * @author Bhavesh Patel
  */
 
-public class IndexTaglet extends BaseInlineTaglet {
+public class IndexTaglet extends BaseTaglet {
 
-    private static final String NAME = "index";
-
-    public String getName() {
-        return NAME;
+    IndexTaglet() {
+        super(INDEX.tagName, true, EnumSet.allOf(Site.class));
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public Content getTagletOutput(Element element, DocTree tag, TagletWriter writer) {
         return writer.indexTagOutput(element, tag);
     }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/InheritDocTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/InheritDocTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
 
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
+import java.util.EnumSet;
 import javax.lang.model.element.Element;
 import javax.lang.model.element.ExecutableElement;
 
@@ -37,10 +38,10 @@
 import jdk.javadoc.internal.doclets.toolkit.util.DocFinder.Input;
 import jdk.javadoc.internal.doclets.toolkit.util.Utils;
 
-import static com.sun.source.doctree.DocTree.Kind.*;
+import static com.sun.source.doctree.DocTree.Kind.INHERIT_DOC;
 
 /**
- * An inline Taglet representing the <b>inheritDoc</b> tag. This tag should only
+ * An inline Taglet representing the {@code inheritDoc} tag. This tag should only
  * be used with a method.  It is used to inherit documentation from overriden
  * and implemented methods.
  *
@@ -52,79 +53,19 @@
  * @author Jamie Ho
  */
 
-public class InheritDocTaglet extends BaseInlineTaglet {
-
-    /**
-     * The inline tag that would appear in the documentation if
-     * the writer wanted documentation to be inherited.
-     */
-    public static final String INHERIT_DOC_INLINE_TAG = "{@inheritDoc}";
+public class InheritDocTaglet extends BaseTaglet {
 
     /**
      * Construct a new InheritDocTaglet.
      */
     public InheritDocTaglet () {
-        name = INHERIT_DOC.tagName;
-    }
-
-    /**
-     * Will return false because this inline tag may
-     * not appear in Fields.
-     * @return false
-     */
-    public boolean inField() {
-        return false;
-    }
-
-    /**
-     * Will return false because this inline tag may
-     * not appear in Constructors.
-     * @return false
-     */
-    public boolean inConstructor() {
-        return false;
-    }
-
-    /**
-     * Will return false because this inline tag may
-     * not appear in Overview.
-     * @return false
-     */
-    public boolean inOverview() {
-        return false;
+        super(INHERIT_DOC.tagName, true, EnumSet.of(Site.TYPE, Site.METHOD));
     }
 
     /**
-     * Will return false because this inline tag may
-     * not appear in Modules.
-     * @return false
-     */
-    public boolean inModule() {
-        return false;
-    }
-
-    /**
-     * Will return false because this inline tag may
-     * not appear in Packages.
-     * @return false
-     */
-    public boolean inPackage() {
-        return false;
-    }
-
-    /**
-     * Will return true because this inline tag may
-     * appear in Type (Class).
-     * @return true
-     */
-    public boolean inType() {
-        return true;
-    }
-
-    /**
-     * Given a <code>MethodDoc</code> item, a <code>Tag</code> in the
-     * <code>MethodDoc</code> item and a String, replace all occurrences
-     * of @inheritDoc with documentation from it's superclass or superinterface.
+     * Given an element, a {@code DocTree} in the element's doc comment
+     * replace all occurrences of @inheritDoc with documentation from its
+     * superclass or superinterface.
      *
      * @param writer the writer that is writing the output.
      * @param e the {@link Element} that we are documenting.
@@ -148,7 +89,7 @@
                     ((utils.isExecutableElement(e))
                         ? utils.flatSignature((ExecutableElement)e)
                         : "");
-                //This tag does not support inheritence.
+                //This tag does not support inheritance.
                 messages.warning(e, "doclet.noInheritedDoc", message);
         }
         Input input = new DocFinder.Input(utils, e,
@@ -172,18 +113,9 @@
         return replacement;
     }
 
-    /**
-     * Given the <code>Tag</code> representation of this custom
-     * tag, return its string representation, which is output
-     * to the generated page.
-     *
-     * @param e the element holding the tag
-     * @param tag the <code>Tag</code> representation of this custom tag.
-     * @param tagletWriter the taglet writer for output.
-     * @return the Content representation of this <code>Tag</code>.
-     */
+    @Override
     public Content getTagletOutput(Element e, DocTree tag, TagletWriter tagletWriter) {
-        DocTree  inheritTag = tag.getKind() == INHERIT_DOC ? null : tag;
+        DocTree inheritTag = (tag.getKind() == INHERIT_DOC) ? null : tag;
         return retrieveInheritedDocumentation(tagletWriter, e,
                 inheritTag, tagletWriter.isFirstSentence);
     }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/InheritableTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/InheritableTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,7 +41,7 @@
 public interface InheritableTaglet extends Taglet {
 
     /**
-     * Given an {@link com.sun.tools.doclets.internal.toolkit.util.DocFinder.Output}
+     * Given an {@link jdk.javadoc.internal.doclets.toolkit.util.DocFinder.Output}
      * object, set its values with the appropriate information to inherit
      * documentation.
      *
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/LiteralTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/LiteralTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,12 +25,13 @@
 
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
+import java.util.EnumSet;
 import javax.lang.model.element.Element;
 
 import com.sun.source.doctree.DocTree;
 import jdk.javadoc.internal.doclets.toolkit.Content;
 
-import static com.sun.source.doctree.DocTree.Kind.*;
+import static com.sun.source.doctree.DocTree.Kind.LITERAL;
 /**
  * An inline Taglet used to denote literal text.
  * For example, the text:
@@ -46,17 +47,13 @@
  * @author Scott Seligman
  */
 
-public class LiteralTaglet extends BaseInlineTaglet {
+public class LiteralTaglet extends BaseTaglet {
 
-    private static final String NAME = LITERAL.tagName;
-
-    public String getName() {
-        return NAME;
+    LiteralTaglet() {
+        super(LITERAL.tagName, true, EnumSet.allOf(Site.class));
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public Content getTagletOutput(Element e, DocTree tag, TagletWriter writer) {
         return writer.literalTagOutput(e, tag);
     }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ParamTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ParamTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@
 import jdk.javadoc.internal.doclets.toolkit.util.DocFinder.Input;
 import jdk.javadoc.internal.doclets.toolkit.util.Utils;
 
-import static com.sun.source.doctree.DocTree.Kind.*;
+import static com.sun.source.doctree.DocTree.Kind.PARAM;
 
 /**
  * A taglet that represents the @param tag.
@@ -58,7 +58,7 @@
      * Construct a ParamTaglet.
      */
     public ParamTaglet() {
-        name = PARAM.tagName;
+        super(PARAM.tagName, false, EnumSet.of(Site.TYPE, Site.CONSTRUCTOR, Site.METHOD));
     }
 
     /**
@@ -85,9 +85,7 @@
         return result;
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public void inherit(DocFinder.Input input, DocFinder.Output output) {
         Utils utils = input.utils;
         if (input.tagId == null) {
@@ -129,61 +127,7 @@
         }
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public boolean inField() {
-        return false;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean inMethod() {
-        return true;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean inOverview() {
-        return false;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean inModule() {
-        return false;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean inPackage() {
-        return false;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean inType() {
-        return true;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isInlineTag() {
-        return false;
-    }
-
-    /**
-     * Given an array of <code>ParamTag</code>s,return its string representation.
-     * @param holder the member that holds the param tags.
-     * @param writer the TagletWriter that will write this tag.
-     * @return the TagletOutput representation of these <code>ParamTag</code>s.
-     */
+    @Override
     public Content getTagletOutput(Element holder, TagletWriter writer) {
         Utils utils = writer.configuration().utils;
         if (utils.isExecutableElement(holder)) {
@@ -201,7 +145,7 @@
     }
 
     /**
-     * Given an array of <code>ParamTag</code>s,return its string representation.
+     * Given an array of {@code @param DocTree}s,return its string representation.
      * Try to inherit the param tags that are missing.
      *
      * @param holder            the element that holds the param tags.
@@ -209,7 +153,7 @@
      * @param formalParameters  The array of parmeters (from type or executable
      *                          member) to check.
      *
-     * @return the TagletOutput representation of these <code>ParamTag</code>s.
+     * @return the content representation of these {@code @param DocTree}s.
      */
     private Content getTagletOutput(boolean isParameters, Element holder,
             TagletWriter writer, List<? extends Element> formalParameters, List<? extends DocTree> paramTags) {
@@ -269,12 +213,12 @@
     }
 
     /**
-     * Given an array of <code>Tag</code>s representing this custom
+     * Given an array of {@code @param DocTree}s representing this
      * tag, return its string representation.  Print a warning for param
      * tags that do not map to parameters.  Print a warning for param
      * tags that are duplicated.
      *
-     * @param paramTags the array of <code>ParamTag</code>s to convert.
+     * @param paramTags the array of {@code @param DocTree} to convert.
      * @param writer the TagletWriter that will write this tag.
      * @param alreadyDocumented the set of exceptions that have already
      *        been documented.
@@ -284,7 +228,7 @@
                 of a rank of a parameter to its name.  This is
                 used to ensure that the right name is used
                 when parameter documentation is inherited.
-     * @return the Content representation of this <code>Tag</code>.
+     * @return the Content representation of this {@code @param DocTree}.
      */
     private Content processParamTags(Element e, boolean isParams,
             List<? extends DocTree> paramTags, Map<String, String> rankMap, TagletWriter writer,
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/PropertyGetterTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/PropertyGetterTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -47,7 +47,7 @@
      * Construct a new PropertyGetterTaglet.
      */
     public PropertyGetterTaglet () {
-        name = "propertyGetter";
+        super("propertyGetter");
     }
 
     @Override
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/PropertySetterTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/PropertySetterTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@
      * Construct a new PropertyGetterTaglet.
      */
     public PropertySetterTaglet () {
-        name = "propertySetter";
+        super("propertySetter");
     }
 
     @Override
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ReturnTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ReturnTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
 import java.util.ArrayList;
+import java.util.EnumSet;
 import java.util.List;
 
 import javax.lang.model.element.Element;
@@ -40,7 +41,7 @@
 import jdk.javadoc.internal.doclets.toolkit.util.DocFinder.Input;
 import jdk.javadoc.internal.doclets.toolkit.util.Utils;
 
-import static com.sun.source.doctree.DocTree.Kind.*;
+import static com.sun.source.doctree.DocTree.Kind.RETURN;
 
 /**
  * A taglet that represents the @return tag.
@@ -52,15 +53,13 @@
  *
  * @author Jamie Ho
  */
-public class ReturnTaglet extends BaseExecutableMemberTaglet implements InheritableTaglet {
+public class ReturnTaglet extends BaseTaglet implements InheritableTaglet {
 
     public ReturnTaglet() {
-        name = RETURN.tagName;
+        super(RETURN.tagName, false, EnumSet.of(Site.METHOD));
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public void inherit(DocFinder.Input input, DocFinder.Output output) {
         List<? extends DocTree> tags = input.utils.getBlockTags(input.element, DocTree.Kind.RETURN);
         CommentHelper ch = input.utils.getCommentHelper(input.element);
@@ -73,20 +72,7 @@
         }
     }
 
-    /**
-     * Return true if this <code>Taglet</code>
-     * is used in constructor documentation.
-     * @return true if this <code>Taglet</code>
-     * is used in constructor documentation and false
-     * otherwise.
-     */
-    public boolean inConstructor() {
-        return false;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public Content getTagletOutput(Element holder, TagletWriter writer) {
         Messages messages = writer.configuration().getMessages();
         Utils utils = writer.configuration().utils;
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/SeeTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/SeeTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
 
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
+import java.util.EnumSet;
 import java.util.List;
 
 import javax.lang.model.element.Element;
@@ -36,7 +37,7 @@
 import jdk.javadoc.internal.doclets.toolkit.util.DocFinder.Input;
 import jdk.javadoc.internal.doclets.toolkit.util.Utils;
 
-import static com.sun.source.doctree.DocTree.Kind.*;
+import static com.sun.source.doctree.DocTree.Kind.SEE;
 
 /**
  * A taglet that represents the @see tag.
@@ -51,12 +52,10 @@
 public class SeeTaglet extends BaseTaglet implements InheritableTaglet {
 
     public SeeTaglet() {
-        name = SEE.tagName;
+        super(SEE.tagName, false, EnumSet.allOf(Site.class));
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public void inherit(DocFinder.Input input, DocFinder.Output output) {
         List<? extends DocTree> tags = input.utils.getSeeTrees(input.element);
         if (!tags.isEmpty()) {
@@ -69,9 +68,7 @@
         }
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public Content getTagletOutput(Element holder, TagletWriter writer) {
         Utils utils = writer.configuration().utils;
         List<? extends DocTree> tags = utils.getSeeTrees(holder);
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/SimpleTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/SimpleTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,8 +25,9 @@
 
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
+import java.util.EnumSet;
 import java.util.List;
-import java.util.Locale;
+import java.util.Set;
 
 import javax.lang.model.element.Element;
 
@@ -51,65 +52,17 @@
 public class SimpleTaglet extends BaseTaglet implements InheritableTaglet {
 
     /**
-     * The marker in the location string for excluded tags.
-     */
-    public static final String EXCLUDED = "x";
-
-    /**
-     * The marker in the location string for modules.
-     */
-    public static final String MODULE = "s";
-
-    /**
-     * The marker in the location string for packages.
-     */
-    public static final String PACKAGE = "p";
-
-    /**
-     * The marker in the location string for types.
-     */
-    public static final String TYPE = "t";
-
-    /**
-     * The marker in the location string for constructors.
-     */
-    public static final String CONSTRUCTOR = "c";
-
-    /**
-     * The marker in the location string for fields.
-     */
-    public static final String FIELD = "f";
-
-    /**
-     * The marker in the location string for methods.
-     */
-    public static final String METHOD = "m";
-
-    /**
-     * The marker in the location string for overview.
-     */
-    public static final String OVERVIEW = "o";
-
-    /**
-     * Use in location string when the tag is to
-     * appear in all locations.
-     */
-    public static final String ALL = "a";
-
-    /**
-     * The name of this tag.
-     */
-    protected String tagName;
-
-    /**
      * The header to output.
      */
     protected String header;
 
     /**
-     * The possible locations that this tag can appear in.
+     * Whether or not the taglet should generate output.
+     * Standard tags like at-author, at-since, at-version can be disabled
+     * by command-line options; custom tags created with -tag can be
+     * disabled with an X in the defining string.
      */
-    protected String locations;
+    protected final boolean enabled;
 
     /**
      * Construct a <code>SimpleTaglet</code>.
@@ -121,113 +74,78 @@
      * and 'f' for field.
      */
     public SimpleTaglet(String tagName, String header, String locations) {
-        this.tagName = tagName;
-        this.header = header;
-        locations = Utils.toLowerCase(locations);
-        if (locations.contains(ALL) && !locations.contains(EXCLUDED)) {
-            this.locations = MODULE + PACKAGE + TYPE + FIELD + METHOD + CONSTRUCTOR + OVERVIEW;
-        } else {
-            this.locations = locations;
-        }
-    }
-
-    /**
-     * Return the name of this <code>Taglet</code>.
-     */
-    public String getName() {
-        return tagName;
+        this(tagName, header, getSites(locations), isEnabled(locations));
     }
 
     /**
-     * Return true if this <code>SimpleTaglet</code>
-     * is used in constructor documentation.
-     * @return true if this <code>SimpleTaglet</code>
-     * is used in constructor documentation and false
-     * otherwise.
+     * Construct a <code>SimpleTaglet</code>.
+     * @param tagName the name of this tag
+     * @param header the header to output.
+     * @param sites the possible sites (locations) that this tag
+     * can appear in.  The <code>String</code> can contain 'p'
+     * for package, 't' for type, 'm' for method, 'c' for constructor
+     * and 'f' for field.
      */
-    public boolean inConstructor() {
-        return locations.contains(CONSTRUCTOR) && !locations.contains(EXCLUDED);
-    }
-
-    /**
-     * Return true if this <code>SimpleTaglet</code>
-     * is used in field documentation.
-     * @return true if this <code>SimpleTaglet</code>
-     * is used in field documentation and false
-     * otherwise.
-     */
-    public boolean inField() {
-        return locations.contains(FIELD) && !locations.contains(EXCLUDED);
-    }
-
-    /**
-     * Return true if this <code>SimpleTaglet</code>
-     * is used in method documentation.
-     * @return true if this <code>SimpleTaglet</code>
-     * is used in method documentation and false
-     * otherwise.
-     */
-    public boolean inMethod() {
-        return locations.contains(METHOD) && !locations.contains(EXCLUDED);
+    public SimpleTaglet(String tagName, String header, Set<Site> sites) {
+        this(tagName, header, sites, true);
     }
 
     /**
-     * Return true if this <code>SimpleTaglet</code>
-     * is used in overview documentation.
-     * @return true if this <code>SimpleTaglet</code>
-     * is used in overview documentation and false
-     * otherwise.
+     * Construct a <code>SimpleTaglet</code>.
+     * @param tagName the name of this tag
+     * @param header the header to output.
+     * @param sites the possible sites (locations) that this tag
+     * can appear in.  The <code>String</code> can contain 'p'
+     * for package, 't' for type, 'm' for method, 'c' for constructor
+     * and 'f' for field.
      */
-    public boolean inOverview() {
-        return locations.contains(OVERVIEW) && !locations.contains(EXCLUDED);
-    }
-
-    /**
-     * Return true if this <code>SimpleTaglet</code>
-     * is used in module documentation.
-     * @return true if this <code>SimpleTaglet</code>
-     * is used in module documentation and false
-     * otherwise.
-     */
-    public boolean inModule() {
-        return locations.contains(MODULE) && !locations.contains(EXCLUDED);
+    public SimpleTaglet(String tagName, String header, Set<Site> sites, boolean enabled) {
+        super(tagName, false, sites);
+        this.header = header;
+        this.enabled = enabled;
     }
 
-    /**
-     * Return true if this <code>SimpleTaglet</code>
-     * is used in package documentation.
-     * @return true if this <code>SimpleTaglet</code>
-     * is used in package documentation and false
-     * otherwise.
-     */
-    public boolean inPackage() {
-        return locations.contains(PACKAGE) && !locations.contains(EXCLUDED);
+    private static Set<Site> getSites(String locations) {
+        Set<Site> set = EnumSet.noneOf(Site.class);
+        for (int i = 0; i < locations.length(); i++) {
+            switch (locations.charAt(i)) {
+                case 'a':  case 'A':
+                    return EnumSet.allOf(Site.class);
+                case 'c':  case 'C':
+                    set.add(Site.CONSTRUCTOR);
+                    break;
+                case 'f':  case 'F':
+                    set.add(Site.FIELD);
+                    break;
+                case 'm':  case 'M':
+                    set.add(Site.METHOD);
+                    break;
+                case 'o':  case 'O':
+                    set.add(Site.OVERVIEW);
+                    break;
+                case 'p':  case 'P':
+                    set.add(Site.PACKAGE);
+                    break;
+                case 's':  case 'S':        // super-packages, anyone?
+                    set.add(Site.MODULE);
+                    break;
+                case 't':  case 'T':
+                    set.add(Site.TYPE);
+                    break;
+                case 'x':  case 'X':
+                    break;
+            }
+        }
+        return set;
     }
 
-    /**
-     * Return true if this <code>SimpleTaglet</code>
-     * is used in type documentation (classes or interfaces).
-     * @return true if this <code>SimpleTaglet</code>
-     * is used in type documentation and false
-     * otherwise.
-     */
-    public boolean inType() {
-        return locations.contains(TYPE) && !locations.contains(EXCLUDED);
-    }
-
-    /**
-     * Return true if this <code>Taglet</code>
-     * is an inline tag.
-     * @return true if this <code>Taglet</code>
-     * is an inline tag and false otherwise.
-     */
-    public boolean isInlineTag() {
-        return false;
+    private static boolean isEnabled(String locations) {
+        return locations.matches("[^Xx]*");
     }
 
     @Override
     public void inherit(DocFinder.Input input, DocFinder.Output output) {
-        List<? extends DocTree> tags = input.utils.getBlockTags(input.element, tagName);
+        List<? extends DocTree> tags = input.utils.getBlockTags(input.element, name);
         if (!tags.isEmpty()) {
             output.holder = input.element;
             output.holderTag = tags.get(0);
@@ -238,16 +156,12 @@
         }
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public Content getTagletOutput(Element element, DocTree tag, TagletWriter writer) {
         return header == null || tag == null ? null : writer.simpleTagOutput(element, tag, header);
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public Content getTagletOutput(Element holder, TagletWriter writer) {
         Utils utils = writer.configuration().utils;
         List<? extends DocTree> tags = utils.getBlockTags(holder, getName());
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/SummaryTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/SummaryTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,13 +25,14 @@
 
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
+import java.util.EnumSet;
 import javax.lang.model.element.Element;
 
 import com.sun.source.doctree.DocTree;
 import com.sun.source.doctree.SummaryTree;
 import jdk.javadoc.internal.doclets.toolkit.Content;
 
-import static com.sun.source.doctree.DocTree.Kind.*;
+import static com.sun.source.doctree.DocTree.Kind.SUMMARY;
 
 /**
  * A taglet that represents the @summary tag.
@@ -42,15 +43,13 @@
  *  deletion without notice.</b>
  */
 
-public class SummaryTaglet extends BaseInlineTaglet {
+public class SummaryTaglet extends BaseTaglet {
 
     public SummaryTaglet() {
-        name = SUMMARY.tagName;
+        super(SUMMARY.tagName, true, EnumSet.allOf(Site.class));
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public Content getTagletOutput(Element holder, DocTree tag, TagletWriter writer) {
         return writer.commentTagsToOutput(holder, ((SummaryTree)tag).getSummary());
     }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java	Thu May 24 13:09:59 2018 -0700
@@ -46,6 +46,7 @@
 import jdk.javadoc.internal.doclets.toolkit.Messages;
 import jdk.javadoc.internal.doclets.toolkit.Resources;
 
+import jdk.javadoc.internal.doclets.toolkit.taglets.BaseTaglet.Site;
 import jdk.javadoc.internal.doclets.toolkit.util.CommentHelper;
 import jdk.javadoc.internal.doclets.toolkit.util.Utils;
 
@@ -72,65 +73,29 @@
     public static final char SIMPLE_TAGLET_OPT_SEPARATOR = ':';
 
     /**
-     * The alternate separator for simple tag options.  Use this
-     * when you want the default separator to be in the name of the
-     * custom tag.
-     */
-    public static final String ALT_SIMPLE_TAGLET_OPT_SEPARATOR = "-";
-
-    /**
-     * The map of custom tags.
+     * The map of all taglets.
      */
-    private final LinkedHashMap<String,Taglet> customTags;
-
-    /**
-     * The array of custom tags that can appear in modules.
-     */
-    private List<Taglet> moduleTags;
-
-    /**
-     * The array of custom tags that can appear in packages.
-     */
-    private List<Taglet> packageTags;
+    private final LinkedHashMap<String,Taglet> allTaglets;
 
     /**
-     * The array of custom tags that can appear in classes or interfaces.
+     * Block (non-line) taglets, grouped by Site
      */
-    private List<Taglet> typeTags;
-
-    /**
-     * The array of custom tags that can appear in fields.
-     */
-    private List<Taglet> fieldTags;
+    private Map<Site, List<Taglet>> blockTagletsBySite;
 
     /**
-     * The array of custom tags that can appear in constructors.
-     */
-    private List<Taglet> constructorTags;
-
-    /**
-     * The array of custom tags that can appear in methods.
-     */
-    private List<Taglet> methodTags;
-
-    /**
-     * The array of custom tags that can appear in the overview.
-     */
-    private List<Taglet> overviewTags;
-
-    /**
-     * The array of custom tags that can appear in comments.
+     * The taglets that can appear inline in descriptive text.
      */
     private List<Taglet> inlineTags;
 
     /**
-     * The array of custom tags that can appear in the serialized form.
+     * The taglets that can appear in the serialized form.
      */
     private List<Taglet> serializedFormTags;
 
     private final DocletEnvironment docEnv;
     private final Doclet doclet;
 
+    private final Utils utils;
     private final Messages messages;
     private final Resources resources;
 
@@ -184,7 +149,12 @@
     private final boolean javafx;
 
     /**
-     * Construct a new <code>TagletManager</code>.
+     * Show the taglets table when it has been initialized.
+     */
+    private final boolean showTaglets;
+
+    /**
+     * Construct a new {@code TagletManager}.
      * @param nosince true if we do not want to use @since tags.
      * @param showversion true if we want to use @version tags.
      * @param showauthor true if we want to use @author tags.
@@ -199,7 +169,7 @@
         standardTags = new HashSet<>();
         standardTagsLowercase = new HashSet<>();
         unseenCustomTags = new HashSet<>();
-        customTags = new LinkedHashMap<>();
+        allTaglets = new LinkedHashMap<>();
         this.nosince = nosince;
         this.showversion = showversion;
         this.showauthor = showauthor;
@@ -208,34 +178,33 @@
         this.doclet = configuration.doclet;
         this.messages = configuration.getMessages();
         this.resources = configuration.getResources();
+        this.showTaglets = configuration.showTaglets;
+        this.utils = configuration.utils;
         initStandardTaglets();
-        initStandardTagsLowercase();
     }
 
     /**
-     * Add a new <code>CustomTag</code>.  This is used to add a Taglet from within
+     * Add a new {@code Taglet}.  This is used to add a Taglet from within
      * a Doclet.  No message is printed to indicate that the Taglet is properly
      * registered because these Taglets are typically added for every execution of the
      * Doclet.  We don't want to see this type of error message every time.
-     * @param customTag the new <code>CustomTag</code> to add.
+     * @param customTag the new {@code Taglet} to add.
      */
     public void addCustomTag(Taglet customTag) {
         if (customTag != null) {
             String name = customTag.getName();
-            if (customTags.containsKey(name)) {
-                customTags.remove(name);
-            }
-            customTags.put(name, customTag);
+            allTaglets.remove(name);
+            allTaglets.put(name, customTag);
             checkTagName(name);
         }
     }
 
-    public Set<String> getCustomTagNames() {
-        return customTags.keySet();
+    public Set<String> getAllTagletNames() {
+        return allTaglets.keySet();
     }
 
     /**
-     * Add a new <code>Taglet</code>.  Print a message to indicate whether or not
+     * Add a new {@code Taglet}.  Print a message to indicate whether or not
      * the Taglet was registered properly.
      * @param classname  the name of the class representing the custom tag.
      * @param fileManager the filemanager to load classes and resources.
@@ -262,11 +231,11 @@
             instance.init(docEnv, doclet);
             Taglet newLegacy = new UserTaglet(instance);
             String tname = newLegacy.getName();
-            Taglet t = customTags.get(tname);
+            Taglet t = allTaglets.get(tname);
             if (t != null) {
-                customTags.remove(tname);
+                allTaglets.remove(tname);
             }
-            customTags.put(tname, newLegacy);
+            allTaglets.put(tname, newLegacy);
             messages.notice("doclet.Notice_taglet_registered", classname);
         } catch (Exception exc) {
             messages.error("doclet.Error_taglet_not_registered", exc.getClass().getName(), classname);
@@ -274,7 +243,7 @@
     }
 
     /**
-     * Add a new <code>SimpleTaglet</code>.  If this tag already exists
+     * Add a new {@code SimpleTaglet}.  If this tag already exists
      * and the header passed as an argument is null, move tag to the back of the
      * list. If this tag already exists and the header passed as an argument is
      * not null, overwrite previous tag with new one.  Otherwise, add new
@@ -288,18 +257,17 @@
         if (tagName == null || locations == null) {
             return;
         }
-        Taglet tag = customTags.get(tagName);
-        locations = Utils.toLowerCase(locations);
+        Taglet tag = allTaglets.get(tagName);
         if (tag == null || header != null) {
-            customTags.remove(tagName);
-            customTags.put(tagName, new SimpleTaglet(tagName, header, locations));
-            if (locations != null && locations.indexOf('x') == -1) {
+            allTaglets.remove(tagName);
+            allTaglets.put(tagName, new SimpleTaglet(tagName, header, locations));
+            if (Utils.toLowerCase(locations).indexOf('x') == -1) {
                 checkTagName(tagName);
             }
         } else {
             //Move to back
-            customTags.remove(tagName);
-            customTags.put(tagName, tag);
+            allTaglets.remove(tagName);
+            allTaglets.put(tagName, tag);
         }
     }
 
@@ -318,40 +286,21 @@
     }
 
     /**
-     * Check the taglet to see if it is a legacy taglet.  Also
-     * check its name for errors.
-     */
-    private void checkTaglet(Object taglet) {
-        if (taglet instanceof Taglet) {
-            checkTagName(((Taglet) taglet).getName());
-        } else if (taglet instanceof jdk.javadoc.doclet.Taglet) {
-            jdk.javadoc.doclet.Taglet legacyTaglet = (jdk.javadoc.doclet.Taglet) taglet;
-            customTags.remove(legacyTaglet.getName());
-            customTags.put(legacyTaglet.getName(), new UserTaglet(legacyTaglet));
-            checkTagName(legacyTaglet.getName());
-        } else {
-            throw new IllegalArgumentException("Given object is not a taglet.");
-        }
-    }
-
-    /**
      * Given a name of a seen custom tag, remove it from the set of unseen
      * custom tags.
      * @param name the name of the seen custom tag.
      */
-    public void seenCustomTag(String name) {
+    void seenCustomTag(String name) {
         unseenCustomTags.remove(name);
     }
 
     /**
-     * Given an array of <code>Tag</code>s, check for spelling mistakes.
-     * @param utils the utility class to use
+     * Given a series of {@code DocTree}s, check for spelling mistakes.
      * @param element the tags holder
      * @param trees the trees containing the comments
      * @param areInlineTags true if the array of tags are inline and false otherwise.
      */
-    public void checkTags(final Utils utils, Element element,
-                          Iterable<? extends DocTree> trees, boolean areInlineTags) {
+    public void checkTags(Element element, Iterable<? extends DocTree> trees, boolean areInlineTags) {
         if (trees == null) {
             return;
         }
@@ -364,7 +313,7 @@
             if (name.length() > 0 && name.charAt(0) == '@') {
                 name = name.substring(1, name.length());
             }
-            if (! (standardTags.contains(name) || customTags.containsKey(name))) {
+            if (! (standardTags.contains(name) || allTaglets.containsKey(name))) {
                 if (standardTagsLowercase.contains(Utils.toLowerCase(name))) {
                     messages.warning(ch.getDocTreePath(tag), "doclet.UnknownTagLowercase", ch.getTagName(tag));
                     continue;
@@ -373,7 +322,7 @@
                     continue;
                 }
             }
-            final Taglet taglet = customTags.get(name);
+            final Taglet taglet = allTaglets.get(name);
             // Check and verify tag usage
             if (taglet != null) {
                 if (areInlineTags && !taglet.isInlineTag()) {
@@ -452,6 +401,7 @@
      */
     private void printTagMisuseWarn(CommentHelper ch, Taglet taglet, DocTree tag, String holderType) {
         Set<String> locationsSet = new LinkedHashSet<>();
+        // The following names should be localized
         if (taglet.inOverview()) {
             locationsSet.add("overview");
         }
@@ -476,230 +426,142 @@
         if (taglet.isInlineTag()) {
             locationsSet.add("inline text");
         }
-        String[] locations = locationsSet.toArray(new String[]{});
-        if (locations == null || locations.length == 0) {
+        if (locationsSet.isEmpty()) {
             //This known tag is excluded.
             return;
         }
         StringBuilder combined_locations = new StringBuilder();
-        for (int i = 0; i < locations.length; i++) {
-            if (i > 0) {
+        for (String location: locationsSet) {
+            if (combined_locations.length() > 0) {
                 combined_locations.append(", ");
             }
-            combined_locations.append(locations[i]);
+            combined_locations.append(location);
         }
         messages.warning(ch.getDocTreePath(tag), "doclet.tag_misuse",
             "@" + taglet.getName(), holderType, combined_locations.toString());
     }
 
     /**
-     * Return the array of <code>Taglet</code>s that can
-     * appear in modules.
-     * @return the array of <code>Taglet</code>s that can
-     * appear in modules.
-     */
-    public List<Taglet> getModuleCustomTaglets() {
-        if (moduleTags == null) {
-            initCustomTaglets();
-        }
-        return moduleTags;
-    }
-
-    /**
-     * Return the array of <code>Taglet</code>s that can
-     * appear in packages.
-     * @return the array of <code>Taglet</code>s that can
-     * appear in packages.
+     * Returns the taglets that can appear inline, in descriptive text.
+     * @return the taglets that can appear inline
      */
-    public List<Taglet> getPackageCustomTaglets() {
-        if (packageTags == null) {
-            initCustomTaglets();
-        }
-        return packageTags;
-    }
-
-    /**
-     * Return the array of <code>Taglet</code>s that can
-     * appear in classes or interfaces.
-     * @return the array of <code>Taglet</code>s that can
-     * appear in classes or interfaces.
-     */
-    public List<Taglet> getTypeCustomTaglets() {
-        if (typeTags == null) {
-            initCustomTaglets();
-        }
-        return typeTags;
-    }
-
-    /**
-     * Return the array of inline <code>Taglet</code>s that can
-     * appear in comments.
-     * @return the array of <code>Taglet</code>s that can
-     * appear in comments.
-     */
-    public List<Taglet> getInlineCustomTaglets() {
+    List<Taglet> getInlineTaglets() {
         if (inlineTags == null) {
-            initCustomTaglets();
+            initBlockTaglets();
         }
         return inlineTags;
     }
 
     /**
-     * Return the array of <code>Taglet</code>s that can
-     * appear in fields.
-     * @return the array of <code>Taglet</code>s that can
-     * appear in field.
-     */
-    public List<Taglet> getFieldCustomTaglets() {
-        if (fieldTags == null) {
-            initCustomTaglets();
-        }
-        return fieldTags;
-    }
-
-    /**
-     * Return the array of <code>Taglet</code>s that can
-     * appear in the serialized form.
-     * @return the array of <code>Taglet</code>s that can
-     * appear in the serialized form.
+     * Returns the taglets that can appear in the serialized form.
+     * @return the taglet that can appear in the serialized form
      */
     public List<Taglet> getSerializedFormTaglets() {
         if (serializedFormTags == null) {
-            initCustomTaglets();
+            initBlockTaglets();
         }
         return serializedFormTags;
     }
 
-    @SuppressWarnings("fallthrough")
     /**
      * Returns the custom tags for a given element.
      *
      * @param e the element to get custom tags for
-     * @return the array of <code>Taglet</code>s that can
+     * @return the array of {@code Taglet}s that can
      * appear in the given element.
      */
-    public List<Taglet> getCustomTaglets(Element e) {
+    @SuppressWarnings("fallthrough")
+    public List<Taglet> getBlockTaglets(Element e) {
+        if (blockTagletsBySite == null) {
+            initBlockTaglets();
+        }
+
         switch (e.getKind()) {
             case CONSTRUCTOR:
-                return getConstructorCustomTaglets();
+                return blockTagletsBySite.get(Site.CONSTRUCTOR);
             case METHOD:
-                return getMethodCustomTaglets();
+                return blockTagletsBySite.get(Site.METHOD);
             case ENUM_CONSTANT:
             case FIELD:
-                return getFieldCustomTaglets();
+                return blockTagletsBySite.get(Site.FIELD);
             case ANNOTATION_TYPE:
             case INTERFACE:
             case CLASS:
             case ENUM:
-                return getTypeCustomTaglets();
+                return blockTagletsBySite.get(Site.TYPE);
             case MODULE:
-                return getModuleCustomTaglets();
+                return blockTagletsBySite.get(Site.MODULE);
             case PACKAGE:
-                return getPackageCustomTaglets();
+                return blockTagletsBySite.get(Site.PACKAGE);
             case OTHER:
                 if (e instanceof DocletElement) {
                     DocletElement de = (DocletElement)e;
                     switch (de.getSubKind()) {
                         case DOCFILE:
-                            return getPackageCustomTaglets();
+                            return blockTagletsBySite.get(Site.PACKAGE);
                         case OVERVIEW:
-                            return getOverviewCustomTaglets();
+                            return blockTagletsBySite.get(Site.OVERVIEW);
                         default:
                             // fall through
                     }
                 }
+                // fall through
             default:
                 throw new AssertionError("unknown element: " + e + " ,kind: " + e.getKind());
         }
     }
 
     /**
-     * Return a List of <code>Taglet</code>s that can
-     * appear in constructors.
-     * @return the array of <code>Taglet</code>s that can
-     * appear in constructors.
-     */
-    public List<Taglet> getConstructorCustomTaglets() {
-        if (constructorTags == null) {
-            initCustomTaglets();
-        }
-        return constructorTags;
-    }
-
-    /**
-     * Return a List of <code>Taglet</code>s that can
-     * appear in methods.
-     * @return the array of <code>Taglet</code>s that can
-     * appear in methods.
-     */
-    public List<Taglet> getMethodCustomTaglets() {
-        if (methodTags == null) {
-            initCustomTaglets();
-        }
-        return methodTags;
-    }
-
-    /**
-     * Return a List of <code>Taglet</code>s that can
-     * appear in an overview.
-     * @return the array of <code>Taglet</code>s that can
-     * appear in overview.
-     */
-    public List<Taglet> getOverviewCustomTaglets() {
-        if (overviewTags == null) {
-            initCustomTaglets();
-        }
-        return overviewTags;
-    }
-
-    /**
      * Initialize the custom tag Lists.
      */
-    private void initCustomTaglets() {
-
-        moduleTags = new ArrayList<>();
-        packageTags = new ArrayList<>();
-        typeTags = new ArrayList<>();
-        fieldTags = new ArrayList<>();
-        constructorTags = new ArrayList<>();
-        methodTags = new ArrayList<>();
-        inlineTags = new ArrayList<>();
-        overviewTags = new ArrayList<>();
+    private void initBlockTaglets() {
 
-        for (Taglet current : customTags.values()) {
-            if (current.inModule() && !current.isInlineTag()) {
-                moduleTags.add(current);
-            }
-            if (current.inPackage() && !current.isInlineTag()) {
-                packageTags.add(current);
-            }
-            if (current.inType() && !current.isInlineTag()) {
-                typeTags.add(current);
-            }
-            if (current.inField() && !current.isInlineTag()) {
-                fieldTags.add(current);
-            }
-            if (current.inConstructor() && !current.isInlineTag()) {
-                constructorTags.add(current);
-            }
-            if (current.inMethod() && !current.isInlineTag()) {
-                methodTags.add(current);
-            }
+        blockTagletsBySite = new EnumMap<>(Site.class);
+        for (Site site : Site.values()) {
+            blockTagletsBySite.put(site, new ArrayList<>());
+        }
+
+        inlineTags = new ArrayList<>();
+
+        for (Taglet current : allTaglets.values()) {
             if (current.isInlineTag()) {
                 inlineTags.add(current);
-            }
-            if (current.inOverview() && !current.isInlineTag()) {
-                overviewTags.add(current);
+            } else {
+                if (current.inOverview()) {
+                    blockTagletsBySite.get(Site.OVERVIEW).add(current);
+                }
+                if (current.inModule()) {
+                    blockTagletsBySite.get(Site.MODULE).add(current);
+                }
+                if (current.inPackage()) {
+                    blockTagletsBySite.get(Site.PACKAGE).add(current);
+                }
+                if (current.inType()) {
+                    blockTagletsBySite.get(Site.TYPE).add(current);
+                }
+                if (current.inConstructor()) {
+                    blockTagletsBySite.get(Site.CONSTRUCTOR).add(current);
+                }
+                if (current.inMethod()) {
+                    blockTagletsBySite.get(Site.METHOD).add(current);
+                }
+                if (current.inField()) {
+                    blockTagletsBySite.get(Site.FIELD).add(current);
+                }
             }
         }
 
         //Init the serialized form tags
         serializedFormTags = new ArrayList<>();
-        serializedFormTags.add(customTags.get(SERIAL_DATA.tagName));
-        serializedFormTags.add(customTags.get(THROWS.tagName));
+        serializedFormTags.add(allTaglets.get(SERIAL_DATA.tagName));
+        serializedFormTags.add(allTaglets.get(THROWS.tagName));
         if (!nosince)
-            serializedFormTags.add(customTags.get(SINCE.tagName));
-        serializedFormTags.add(customTags.get(SEE.tagName));
+            serializedFormTags.add(allTaglets.get(SINCE.tagName));
+        serializedFormTags.add(allTaglets.get(SEE.tagName));
+
+        if (showTaglets) {
+            showTaglets(System.out);
+        }
     }
 
     /**
@@ -710,26 +572,36 @@
             initJavaFXTaglets();
         }
 
-        Taglet temp;
         addStandardTaglet(new ParamTaglet());
         addStandardTaglet(new ReturnTaglet());
         addStandardTaglet(new ThrowsTaglet());
-        addStandardTaglet(new SimpleTaglet(EXCEPTION.tagName, null,
-                SimpleTaglet.METHOD + SimpleTaglet.CONSTRUCTOR));
-        addStandardTaglet(!nosince, new SimpleTaglet(SINCE.tagName, resources.getText("doclet.Since"),
-                SimpleTaglet.ALL));
-        addStandardTaglet(showversion, new SimpleTaglet(VERSION.tagName, resources.getText("doclet.Version"),
-                SimpleTaglet.MODULE + SimpleTaglet.PACKAGE + SimpleTaglet.TYPE + SimpleTaglet.OVERVIEW));
-        addStandardTaglet(showauthor, new SimpleTaglet(AUTHOR.tagName, resources.getText("doclet.Author"),
-                SimpleTaglet.MODULE + SimpleTaglet.PACKAGE + SimpleTaglet.TYPE + SimpleTaglet.OVERVIEW));
-        addStandardTaglet(new SimpleTaglet(SERIAL_DATA.tagName, resources.getText("doclet.SerialData"),
-                SimpleTaglet.EXCLUDED));
-        addStandardTaglet(new SimpleTaglet(HIDDEN.tagName, resources.getText("doclet.Hidden"),
-                SimpleTaglet.FIELD + SimpleTaglet.METHOD + SimpleTaglet.TYPE));
-        customTags.put((temp = new SimpleTaglet("factory", resources.getText("doclet.Factory"),
-                SimpleTaglet.METHOD)).getName(), temp);
+        addStandardTaglet(
+                new SimpleTaglet(EXCEPTION.tagName, null,
+                    EnumSet.of(Site.METHOD, Site.CONSTRUCTOR)));
+        addStandardTaglet(
+                new SimpleTaglet(SINCE.tagName, resources.getText("doclet.Since"),
+                    EnumSet.allOf(Site.class), !nosince));
+        addStandardTaglet(
+                new SimpleTaglet(VERSION.tagName, resources.getText("doclet.Version"),
+                    EnumSet.of(Site.OVERVIEW, Site.MODULE, Site.PACKAGE, Site.TYPE), showversion));
+        addStandardTaglet(
+                new SimpleTaglet(AUTHOR.tagName, resources.getText("doclet.Author"),
+                    EnumSet.of(Site.OVERVIEW, Site.MODULE, Site.PACKAGE, Site.TYPE), showauthor));
+        addStandardTaglet(
+                new SimpleTaglet(SERIAL_DATA.tagName, resources.getText("doclet.SerialData"),
+                    EnumSet.noneOf(Site.class)));
+        addStandardTaglet(
+                new SimpleTaglet(HIDDEN.tagName, null,
+                    EnumSet.of(Site.TYPE, Site.METHOD, Site.FIELD)));
+
+        // This appears to be a default custom (non-standard) taglet
+        Taglet factoryTaglet = new SimpleTaglet("factory", resources.getText("doclet.Factory"),
+                EnumSet.of(Site.METHOD));
+        allTaglets.put(factoryTaglet.getName(), factoryTaglet);
+
         addStandardTaglet(new SeeTaglet());
-        //Standard inline tags
+
+        // Standard inline tags
         addStandardTaglet(new DocRootTaglet());
         addStandardTaglet(new InheritDocTaglet());
         addStandardTaglet(new ValueTaglet());
@@ -738,13 +610,18 @@
         addStandardTaglet(new IndexTaglet());
         addStandardTaglet(new SummaryTaglet());
 
-        // Keep track of the names of standard tags for error
-        // checking purposes. The following are not handled above.
-        standardTags.add(DEPRECATED.tagName);
-        standardTags.add(LINK.tagName);
-        standardTags.add(LINK_PLAIN.tagName);
-        standardTags.add(SERIAL.tagName);
-        standardTags.add(SERIAL_FIELD.tagName);
+        // Keep track of the names of standard tags for error checking purposes.
+        // The following are not handled above.
+        addStandardTaglet(new DeprecatedTaglet());
+        addStandardTaglet(new BaseTaglet(LINK.tagName, true, EnumSet.allOf(Site.class)));
+        addStandardTaglet(new BaseTaglet(LINK_PLAIN.tagName, true, EnumSet.allOf(Site.class)));
+        addStandardTaglet(new BaseTaglet(USES.tagName, false, EnumSet.of(Site.MODULE)));
+        addStandardTaglet(new BaseTaglet(PROVIDES.tagName, false, EnumSet.of(Site.MODULE)));
+        addStandardTaglet(
+                new SimpleTaglet(SERIAL.tagName, null,
+                    EnumSet.of(Site.PACKAGE, Site.TYPE, Site.FIELD)));
+        addStandardTaglet(
+                new SimpleTaglet(SERIAL_FIELD.tagName, null, EnumSet.of(Site.FIELD)));
     }
 
     /**
@@ -755,37 +632,22 @@
         addStandardTaglet(new PropertySetterTaglet());
         addStandardTaglet(new SimpleTaglet("propertyDescription",
                 resources.getText("doclet.PropertyDescription"),
-                SimpleTaglet.FIELD + SimpleTaglet.METHOD));
+                EnumSet.of(Site.METHOD, Site.FIELD)));
         addStandardTaglet(new SimpleTaglet("defaultValue", resources.getText("doclet.DefaultValue"),
-            SimpleTaglet.FIELD + SimpleTaglet.METHOD));
+                EnumSet.of(Site.METHOD, Site.FIELD)));
         addStandardTaglet(new SimpleTaglet("treatAsPrivate", null,
-                SimpleTaglet.FIELD + SimpleTaglet.METHOD + SimpleTaglet.TYPE));
-    }
-
-    void addStandardTaglet(Taglet taglet) {
-        String name = taglet.getName();
-        customTags.put(name, taglet);
-        standardTags.add(name);
+                EnumSet.of(Site.TYPE, Site.METHOD, Site.FIELD)));
     }
 
-    void addStandardTaglet(boolean enable, Taglet taglet) {
+    private void addStandardTaglet(Taglet taglet) {
         String name = taglet.getName();
-        if (enable)
-            customTags.put(name, taglet);
+        allTaglets.put(name, taglet);
         standardTags.add(name);
-    }
-
-    /**
-     * Initialize lowercase version of standard Javadoc tags.
-     */
-    private void initStandardTagsLowercase() {
-        for (String standardTag : standardTags) {
-            standardTagsLowercase.add(Utils.toLowerCase(standardTag));
-        }
+        standardTagsLowercase.add(Utils.toLowerCase(name));
     }
 
     public boolean isKnownCustomTag(String tagName) {
-        return customTags.containsKey(tagName);
+        return allTaglets.containsKey(tagName);
     }
 
     /**
@@ -801,13 +663,10 @@
 
     private void printReportHelper(String noticeKey, Set<String> names) {
         if (names.size() > 0) {
-            String[] namesArray = names.toArray(new String[] {});
-            String result = " ";
-            for (int i = 0; i < namesArray.length; i++) {
-                result += "@" + namesArray[i];
-                if (i + 1 < namesArray.length) {
-                    result += ", ";
-                }
+            StringBuilder result = new StringBuilder();
+            for (String name : names) {
+                result.append(result.length() == 0 ? " " : ", ");
+                result.append("@").append(name);
             }
             messages.notice(noticeKey, result);
         }
@@ -821,12 +680,40 @@
      * @return return the corresponding taglet. Return null if the tag is
      *         unknown.
      */
-    public Taglet getTaglet(String name) {
+    Taglet getTaglet(String name) {
         if (name.indexOf("@") == 0) {
-            return customTags.get(name.substring(1));
+            return allTaglets.get(name.substring(1));
         } else {
-            return customTags.get(name);
+            return allTaglets.get(name);
         }
 
     }
+
+    /*
+     * The output of this method is the basis for a table at the end of the
+     * doc comment specification, so any changes in the output may indicate
+     * a need for a corresponding update to the spec.
+     */
+    private void showTaglets(PrintStream out) {
+        Set<Taglet> taglets = new TreeSet<>((o1, o2) -> o1.getName().compareTo(o2.getName()));
+        taglets.addAll(allTaglets.values());
+
+        for (Taglet t : taglets) {
+            String name = t.isInlineTag() ? "{@" + t.getName() + "}" : "@" + t.getName();
+            out.println(String.format("%20s", name) + ": "
+                    + format(t.inOverview(), "overview") + " "
+                    + format(t.inModule(), "module") + " "
+                    + format(t.inPackage(), "package") + " "
+                    + format(t.inType(), "type") + " "
+                    + format(t.inConstructor(),"constructor") + " "
+                    + format(t.inMethod(), "method") + " "
+                    + format(t.inField(), "field") + " "
+                    + format(t.isInlineTag(), "inline")+ " "
+                    + format((t instanceof SimpleTaglet) && !((SimpleTaglet)t).enabled, "disabled"));
+        }
+    }
+
+    private String format(boolean b, String s) {
+        return b ? s : s.replaceAll(".", "."); // replace all with "."
+    }
 }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletWriter.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletWriter.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -220,8 +220,8 @@
     public static void genTagOutput(TagletManager tagletManager, Element element,
             List<Taglet> taglets, TagletWriter writer, Content output) {
         Utils utils = writer.configuration().utils;
-        tagletManager.checkTags(utils, element, utils.getBlockTags(element), false);
-        tagletManager.checkTags(utils, element, utils.getFullBody(element), true);
+        tagletManager.checkTags(element, utils.getBlockTags(element), false);
+        tagletManager.checkTags(element, utils.getFullBody(element), true);
         for (Taglet taglet : taglets) {
             if (utils.isTypeElement(element) && taglet instanceof ParamTaglet) {
                 //The type parameters are documented in a special section away
@@ -233,6 +233,10 @@
                 //section.
                 continue;
             }
+            if (taglet instanceof SimpleTaglet && !((SimpleTaglet) taglet).enabled) {
+                // taglet has been disabled
+                continue;
+            }
             Content currentOutput = null;
             try {
                 currentOutput = taglet.getTagletOutput(element, writer);
@@ -262,7 +266,7 @@
      */
     public static Content getInlineTagOutput(Element holder, TagletManager tagletManager,
             DocTree holderTag, DocTree inlineTag, TagletWriter tagletWriter) {
-        List<Taglet> definedTags = tagletManager.getInlineCustomTaglets();
+        List<Taglet> definedTags = tagletManager.getInlineTaglets();
         CommentHelper ch = tagletWriter.configuration().utils.getCommentHelper(holder);
         final String inlineTagName = ch.getTagName(inlineTag);
         //This is a custom inline tag.
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ThrowsTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ThrowsTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@
 import jdk.javadoc.internal.doclets.toolkit.util.DocFinder.Input;
 import jdk.javadoc.internal.doclets.toolkit.util.Utils;
 
-import static com.sun.source.doctree.DocTree.Kind.*;
+import static com.sun.source.doctree.DocTree.Kind.THROWS;
 
 /**
  * A taglet that represents the @throws tag.
@@ -52,16 +52,13 @@
  *
  * @author Jamie Ho
  */
-public class ThrowsTaglet extends BaseExecutableMemberTaglet
+public class ThrowsTaglet extends BaseTaglet
     implements InheritableTaglet {
 
     public ThrowsTaglet() {
-        name = THROWS.tagName;
+        super(THROWS.tagName, false, EnumSet.of(Site.CONSTRUCTOR, Site.METHOD));
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public void inherit(DocFinder.Input input, DocFinder.Output output) {
         Utils utils = input.utils;
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ValueTaglet.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ValueTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
 
 package jdk.javadoc.internal.doclets.toolkit.taglets;
 
+import java.util.EnumSet;
 import javax.lang.model.element.Element;
 import javax.lang.model.element.VariableElement;
 
@@ -35,7 +36,7 @@
 import jdk.javadoc.internal.doclets.toolkit.util.CommentHelper;
 import jdk.javadoc.internal.doclets.toolkit.util.Utils;
 
-import static com.sun.source.doctree.DocTree.Kind.*;
+import static com.sun.source.doctree.DocTree.Kind.VALUE;
 
 /**
  * An inline Taglet representing the value tag. This tag should only be used with
@@ -54,67 +55,15 @@
  * @author Jamie Ho
  */
 
-public class ValueTaglet extends BaseInlineTaglet {
+public class ValueTaglet extends BaseTaglet {
 
     /**
      * Construct a new ValueTaglet.
      */
     public ValueTaglet() {
-        name = VALUE.tagName;
-    }
-
-    /**
-     * Will return false because this inline tag may
-     * only appear in Fields.
-     * @return false since this is not a method.
-     */
-    public boolean inMethod() {
-        return true;
-    }
-
-    /**
-     * Will return false because this inline tag may
-     * only appear in Fields.
-     * @return false since this is not a method.
-     */
-    public boolean inConstructor() {
-        return true;
-    }
-
-    /**
-     * Will return false because this inline tag may
-     * only appear in Fields.
-     * @return false since this is not a method.
-     */
-    public boolean inOverview() {
-        return true;
-    }
-
-    /**
-     * Will return false because this inline tag may
-     * only appear in Fields.
-     * @return false since this is not a field.
-     */
-    public boolean inModule() {
-        return false;
-    }
-
-    /**
-     * Will return false because this inline tag may
-     * only appear in Fields.
-     * @return false since this is not a method.
-     */
-    public boolean inPackage() {
-        return true;
-    }
-
-    /**
-     * Will return false because this inline tag may
-     * only appear in Fields.
-     * @return false since this is not a method.
-     */
-    public boolean inType() {
-        return true;
+        super(VALUE.tagName, true,
+                EnumSet.of(Site.OVERVIEW, Site.PACKAGE, Site.TYPE, Site.CONSTRUCTOR,
+                    Site.METHOD, Site.FIELD)); // not Site.MODULE at this time!
     }
 
     /**
@@ -140,9 +89,7 @@
                 : null;
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    @Override
     public Content getTagletOutput(Element holder, DocTree tag, TagletWriter writer) {
         Utils utils = writer.configuration().utils;
         Messages messages = writer.configuration().getMessages();
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java	Thu May 24 13:09:59 2018 -0700
@@ -2505,6 +2505,7 @@
             return null;
         while (!(kind.isClass() || kind.isInterface())) {
             encl = encl.getEnclosingElement();
+            kind = encl.getKind();
         }
         return (TypeElement)encl;
     }
--- a/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipConstants.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipConstants.java	Thu May 24 13:09:59 2018 -0700
@@ -43,11 +43,11 @@
     static final int METHOD_AES        = 99;
 
     /*
-     * General purpose big flag
+     * General purpose bit flag
      */
     static final int FLAG_ENCRYPTED  = 0x01;
     static final int FLAG_DATADESCR  = 0x08;    // crc, size and csize in dd
-    static final int FLAG_EFS        = 0x800;   // If this bit is set the filename and
+    static final int FLAG_USE_UTF8   = 0x800;   // If this bit is set the filename and
                                                 // comment fields for this file must be
                                                 // encoded using UTF-8.
     /*
--- a/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java	Thu May 24 12:32:00 2018 -0700
+++ b/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java	Thu May 24 13:09:59 2018 -0700
@@ -1374,7 +1374,7 @@
         // store size, compressed size, and crc-32 in LOC header
         e.flag = 0;
         if (zc.isUTF8())
-            e.flag |= FLAG_EFS;
+            e.flag |= FLAG_USE_UTF8;
         OutputStream os;
         if (useTempFile) {
             e.file = getTempPathForEntry(null);
--- a/test/hotspot/jtreg/TEST.groups	Thu May 24 12:32:00 2018 -0700
+++ b/test/hotspot/jtreg/TEST.groups	Thu May 24 13:09:59 2018 -0700
@@ -588,6 +588,12 @@
   vmTestbase/nsk/monitoring/ThreadMXBean/GetThreadAllocatedBytes/noAllocationTest_proxy_default/TestDescription.java \
   vmTestbase/nsk/monitoring/ThreadMXBean/GetThreadAllocatedBytes/noAllocationTest_proxy_custom/TestDescription.java
 
+
+# Tests for default method implementation
+vmTestbase_vm_defmeth = \
+  vmTestbase/vm/runtime/defmeth
+
+
 # JDI tests
 vmTestbase_nsk_jdi = \
   vmTestbase/nsk/jdi
@@ -1283,4 +1289,3 @@
 # JDB tests
 vmTestbase_nsk_jdb = \
   vmTestbase/nsk/jdb
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/loopstripmining/UnexpectedPinnedNodeInOuterLoop.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2018, Red Hat, Inc. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 8202950
+ * @summary C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint
+ *
+ * @run main/othervm -Xcomp -Xbatch -XX:CompileOnly=UnexpectedPinnedNodeInOuterLoop -XX:-TieredCompilation UnexpectedPinnedNodeInOuterLoop
+ *
+ */
+
+public class UnexpectedPinnedNodeInOuterLoop {
+
+    public static final int N = 400;
+
+    public static volatile float fFld=0.488F;
+    public static volatile int iFld=143;
+
+    public static void lMeth(int i2) {
+        int i20=95, i21=-163, i22=-11, iArr[]=new int[N], iArr2[]=new int[N];
+        byte by1=-97;
+
+        for (i20 = 15; 253 > i20; ++i20) {
+            iFld += i21;
+            for (i22 = 1; 7 > i22; i22++) {
+                iArr[i20 + 1] >>= i20;
+            }
+            fFld = i2;
+            iArr2[i20] -= (int)2.302F;
+        }
+    }
+
+    public static void main(String[] strArr) {
+        lMeth(0);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/RedefineTests/RedefineAddLambdaExpression.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8193524
+ * @summary Redefine a class' public static method that contains a lambda expression
+ * @library /test/lib
+ * @modules java.base/jdk.internal.misc
+ * @modules java.compiler
+ *          java.instrument
+ *          jdk.jartool/sun.tools.jar
+ * @run main RedefineClassHelper
+ * @run main/othervm -javaagent:redefineagent.jar -Xlog:redefine+class*=trace RedefineAddLambdaExpression
+ */
+
+interface MathOperation {
+    public int operation(int a, int b);
+}
+
+class B {
+    public static int operate(int a, int b, MathOperation mathOperation) {
+        return mathOperation.operation(a, b);
+    }
+    static int test_math(String p) {
+        MathOperation addition = (int a, int b) -> a + b;
+        return operate(10, 5, addition);
+    }
+}
+
+public class RedefineAddLambdaExpression {
+
+    public static String newB =
+        "class B {" +
+        "    public static int operate(int a, int b, MathOperation mathOperation) {" +
+        "        return mathOperation.operation(a, b);" +
+        "    }" +
+        "    static int test_math(String p) {" +
+        "        MathOperation addition = (int a, int b) -> a + b;" +
+        "        System.out.println(p + \" from class B's test_math method\");" +
+        "        MathOperation subtraction = (int a, int b) -> a - b;" +
+        "        return operate(10, 5, subtraction);" +
+        "    }" +
+        "}";
+
+    public static void main(String[] args) throws Exception {
+        int res = B.test_math("Hello");
+        System.out.println("Result = " + res);
+        if (res != 15) {
+            throw new Error("test_math returned " + res + " expected " + 15);
+        }
+        RedefineClassHelper.redefineClass(B.class, newB);
+
+        res = B.test_math("Hello");
+        if (res != 5)
+            throw new Error("test_math returned " + res + " expected " + 5);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/RedefineTests/RedefineSubtractLambdaExpression.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8193524
+ * @summary Redefine a class' public static method that contains a lambda expression
+ * @library /test/lib
+ * @modules java.base/jdk.internal.misc
+ * @modules java.compiler
+ *          java.instrument
+ *          jdk.jartool/sun.tools.jar
+ * @run main RedefineClassHelper
+ * @run main/othervm -javaagent:redefineagent.jar -Xlog:redefine+class*=trace RedefineSubtractLambdaExpression
+ */
+
+interface MathOperation {
+    public int operation(int a, int b);
+}
+
+class B {
+    public static int operate(int a, int b, MathOperation mathOperation) {
+        return mathOperation.operation(a, b);
+    }
+    static int test_math(String p) {
+        System.out.println(p + " from class B's test_math method");
+        MathOperation subtraction = (int a, int b) -> a - b;
+        MathOperation addition = (int a, int b) -> a + b;
+        return operate(10, 5, addition);
+    }
+}
+
+public class RedefineSubtractLambdaExpression {
+
+    public static String newB =
+        "class B {" +
+        "    public static int operate(int a, int b, MathOperation mathOperation) {" +
+        "        return mathOperation.operation(a, b);" +
+        "    }" +
+        "    static int test_math(String p) {" +
+        "        MathOperation subtraction = (int a, int b) -> a - b;" +
+        "        return operate(10, 5, subtraction);" +
+        "    }" +
+        "}";
+
+    public static void main(String[] args) throws Exception {
+        int res = B.test_math("Hello");
+        System.out.println("Result = " + res);
+        if (res != 15) {
+            throw new Error("test_math returned " + res + " expected " + 15);
+        }
+        RedefineClassHelper.redefineClass(B.class, newB);
+
+        res = B.test_math("Hello");
+        if (res != 5)
+            throw new Error("test_math returned " + res + " expected " + 5);
+    }
+}
--- a/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/MainModuleOnly.java	Thu May 24 12:32:00 2018 -0700
+++ b/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/MainModuleOnly.java	Thu May 24 13:09:59 2018 -0700
@@ -37,8 +37,10 @@
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.util.Arrays;
 
 import jdk.test.lib.process.OutputAnalyzer;
+import jdk.test.lib.Platform;
 import jdk.testlibrary.ProcessTools;
 
 public class MainModuleOnly {
@@ -177,10 +179,54 @@
         // The dumping process will exit with an error due to non-empty directory
         // in the --module-path.
         output = TestCommon.createArchive(destJar.toString(), appClasses,
-                                          "-Xlog:class+load=trace",
                                           "--module-path", MODS_DIR.toString(),
                                           "-m", TEST_MODULE1);
         output.shouldHaveExitValue(1)
               .shouldMatch("Error: non-empty directory.*com.simple");
+
+        // test module path with very long length
+        //
+        // This test can't be run on the windows platform due to an existing
+        // issue in ClassLoader::get_canonical_path() (JDK-8190737).
+        if (Platform.isWindows()) {
+            System.out.println("Long module path test cannot be tested on the Windows platform.");
+            return;
+        }
+        Path longDir = USER_DIR;
+        int pathLen = longDir.toString().length();
+        int PATH_LEN = 2034;
+        int MAX_DIR_LEN = 250;
+        while (pathLen < PATH_LEN) {
+            int remaining = PATH_LEN - pathLen;
+            int subPathLen = remaining > MAX_DIR_LEN ? MAX_DIR_LEN : remaining;
+            char[] chars = new char[subPathLen];
+            Arrays.fill(chars, 'x');
+            String subPath = new String(chars);
+            longDir = Paths.get(longDir.toString(), subPath);
+            pathLen = longDir.toString().length();
+        }
+        File longDirFile = new File(longDir.toString());
+        try {
+            longDirFile.mkdirs();
+        } catch (Exception e) {
+            throw e;
+        }
+        Path longDirJar = longDir.resolve(TEST_MODULE1 + ".jar");
+        // IOException results from the Files.copy() call on platform
+        // such as MacOS X. Test can't be proceeded further with the
+        // exception.
+        try {
+            Files.copy(destJar, longDirJar);
+        } catch (java.io.IOException ioe) {
+            System.out.println("Caught IOException from Files.copy(). Cannot continue.");
+            return;
+        }
+        output = TestCommon.createArchive(destJar.toString(), appClasses,
+                                          "-Xlog:exceptions=trace",
+                                          "--module-path", longDirJar.toString(),
+                                          "-m", TEST_MODULE1);
+        if (output.getExitValue() != 0) {
+            output.shouldMatch("os::stat error.*CDS dump aborted");
+        }
     }
 }
--- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java	Thu May 24 12:32:00 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java	Thu May 24 13:09:59 2018 -0700
@@ -37,7 +37,7 @@
  * @build vm.mlvm.anonloader.stress.oome.heap.Test
  * @run driver vm.mlvm.share.IndifiedClassesBuilder
  *
- * @run main/othervm -XX:-UseGCOverheadLimit vm.mlvm.anonloader.stress.oome.heap.Test
+ * @run main/othervm -XX:-UseGCOverheadLimit -Xmx128m vm.mlvm.anonloader.stress.oome.heap.Test
  */
 
 package vm.mlvm.anonloader.stress.oome.heap;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/AccessibilityFlagsTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,408 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth;
+
+import nsk.share.test.TestBase;
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.data.*;
+import vm.runtime.defmeth.shared.data.method.body.EmptyBody;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+
+/*
+ * Test allowed combinations of access flags on methods in interfaces.
+ * Based on assertions from JVMS8.
+ */
+public class AccessibilityFlagsTest extends DefMethTest {
+    public static void main(String[] args) {
+        TestBase.runTest(new AccessibilityFlagsTest(), args);
+    }
+
+    /* ====================================================================== */
+
+    // Methods of interfaces may set any of the flags in Table 4.5 except
+    // ACC_PROTECTED, ACC_FINAL, ACC_NATIVE, and ACC_SYNCHRONIZED (9.4);
+
+    /**
+     * interface I { protected void m(); }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     */
+    public void testProtectedMethodAbstract() {
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_PROTECTED));
+
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_PROTECTED | ACC_PUBLIC));
+
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_PROTECTED | ACC_PRIVATE));
+
+    }
+
+    /**
+     * interface I { protected void m() default {}; }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     */
+    public void testProtectedMethodDefault() {
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_PROTECTED));
+
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_PROTECTED | ACC_PUBLIC));
+
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_PROTECTED | ACC_PRIVATE));
+    }
+
+    /**
+     * interface I { final void m() default {}; }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     */
+    public void testFinalMethodDefault() {
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_FINAL));
+
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_FINAL | ACC_PUBLIC));
+
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_FINAL | ACC_PRIVATE));
+    }
+
+    /**
+     * interface I { native void m() default {}; }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     */
+    public void testNativeMethodDefault() {
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_NATIVE));
+
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_NATIVE | ACC_PUBLIC));
+
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_NATIVE | ACC_PRIVATE));
+    }
+
+
+    /**
+     * interface I { synchronized void m(); }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     */
+    public void testSynchronizedMethodAbstract() {
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_SYNCHRONIZED));
+
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_SYNCHRONIZED | ACC_PUBLIC));
+
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_SYNCHRONIZED | ACC_PRIVATE));
+    }
+
+    /**
+     * interface I { synchronized void m() default {}; }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     */
+    public void testSynchronizedMethodDefault() {
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_SYNCHRONIZED));
+
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_SYNCHRONIZED | ACC_PUBLIC));
+
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_SYNCHRONIZED | ACC_PRIVATE));
+    }
+
+    /* ===================================================================== */
+
+    // [methods of interfaces] must have exactly one of the ACC_PUBLIC or ACC_PRIVATE flags set.
+
+    /**
+     * interface I { private void m() default {}; }
+     *
+     * TEST: ClassLoader.loadClass("I") == succeeds
+    */
+    public void testPrivateMethodDefault() {
+        loadClass(
+                createDefaultMethodInterface(ACC_PRIVATE));
+    }
+
+    /**
+     * interface I { public void m(); }
+     *
+     * TEST: ClassLoader.loadClass("I") == succeeds
+     */
+    public void testPublicMethodAbstract() {
+        loadClass(
+                createAbstractMethodInterface(ACC_PUBLIC));
+    }
+
+    /**
+     * interface I { public void m() default {}; }
+     *
+     */
+    public void testPublicMethodDefault() {
+        loadClass(
+                createDefaultMethodInterface(ACC_PUBLIC));
+    }
+
+    /**
+     * interface I { private public void m(); }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     */
+    public void testPrivatePublicMethodAbstract() {
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_PUBLIC | ACC_PRIVATE));
+    }
+
+    /**
+     * interface I { private public void m() default {}; }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     */
+    public void testPrivatePublicMethodDefault() {
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_PUBLIC | ACC_PRIVATE));
+    }
+
+    /* ===================================================================== */
+
+    // Methods of classes may set any of the flags in Table 4.5 except
+    // ACC_PROTECTED, ACC_FINAL, ACC_NATIVE, and ACC_SYNCHRONIZED (9.4);
+    // they must have exactly one of the ACC_PUBLIC or ACC_PRIVATE flags set.
+    //
+    // The following flags are allowed:
+    //    ACC_PUBLIC    0x0001  Declared public; may be accessed from outside its package.
+    //    ACC_PRIVATE   0x0002  Declared private; accessible only within the defining class.
+    //    ACC_STATIC    0x0008  Declared static.
+    //    ACC_BRIDGE    0x0040  A bridge method, generated by the compiler.
+    //    ACC_VARARGS   0x0080  Declared with variable number of arguments.
+    //    ACC_STRICT    0x0800  Declared strictfp; floating-point mode is FP-strict.
+    //    ACC_SYNTHETIC 0x1000  Declared synthetic; not present in the source code.
+
+    /**
+     * interface I { static void m() default {}; }
+     *
+     * TEST: ClassLoader.loadClass("I") == succeeds
+    */
+    public void testStaticMethodDefault() {
+        loadClass(
+                createDefaultMethodInterface(ACC_STATIC | ACC_PUBLIC));
+        loadClass(
+                createDefaultMethodInterface(ACC_STATIC | ACC_PRIVATE));
+    }
+
+    /**
+     * interface I { strictfp void m() default {}; }
+     *
+     * TEST: ClassLoader.loadClass("I") == succeeds
+     */
+    public void testStrictFPMethodDefault() {
+        loadClass(
+                createDefaultMethodInterface(ACC_STRICT | ACC_PUBLIC));
+        loadClass(
+                createDefaultMethodInterface(ACC_STRICT | ACC_PRIVATE));
+    }
+
+    /* =============================================================================== */
+
+    // If a specific method of a class or interface has its ACC_ABSTRACT flag set,
+    // it must not have any of its ACC_FINAL, ACC_NATIVE, ACC_PRIVATE, ACC_STATIC, ACC_STRICT,
+    // or ACC_SYNCHRONIZED flags set (8.4.3.1, 8.4.3.3, 8.4.3.4).
+
+    /**
+     * interface I      {          final void m(); }
+     * abstract class C { abstract final void m(); }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     * TEST: ClassLoader.loadClass("C") ==> ClassFormatError
+     */
+    public void testFinalMethodAbstract() {
+        /* interface I */
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_FINAL));
+
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_FINAL | ACC_PUBLIC));
+
+        /* abstract class C */
+        expectClassFormatError(
+                createAbstractMethodClass(ACC_FINAL));
+    }
+
+    /**
+     * interface I      { native void m(); }
+     * interface K      { native void m() default {}; }
+     * abstract class C { abstract native m(); }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     * TEST: ClassLoader.loadClass("K") ==> ClassFormatError
+     * TEST: ClassLoader.loadClass("C") ==> ClassFormatError
+     */
+    public void testNativeMethodAbstract() {
+        /* interface I */
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_NATIVE));
+
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_NATIVE | ACC_PUBLIC));
+
+        /* interface K */
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_NATIVE));
+
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_NATIVE | ACC_PUBLIC));
+
+        /* abstract class C */
+        expectClassFormatError(
+                createAbstractMethodClass(ACC_NATIVE));
+    }
+
+    /**
+     * interface I      {          private void m(); }
+     * abstract class C { abstract private void m(); }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     * TEST: ClassLoader.loadClass("C") ==> ClassFormatError
+     */
+    public void testPrivateMethodAbstract() {
+        /* interface I */
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_PRIVATE));
+
+        /* abstract class C */
+        expectClassFormatError(
+                createAbstractMethodClass(ACC_PRIVATE));
+    }
+
+    /**
+     * interface I      {          static void m(); }
+     * abstract class C { abstract static void m(); }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     * TEST: ClassLoader.loadClass("C") ==> ClassFormatError
+     */
+    public void testStaticMethodAbstract() {
+        /* interface I */
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_STATIC));
+
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_STATIC | ACC_PUBLIC));
+
+        /* abstract class C */
+        expectClassFormatError(
+                createAbstractMethodClass(ACC_STATIC));
+    }
+
+    /**
+     * interface I      {          strictfp void m(); }
+     * abstract class C { abstract strictfp void m(); }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     * TEST: ClassLoader.loadClass("C") ==> ClassFormatError
+     */
+    public void testStrictFPMethodAbstract() {
+        /* interface I */
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_STRICT));
+
+        expectClassFormatError(
+                createAbstractMethodInterface(ACC_STRICT | ACC_PUBLIC));
+
+        /* abstract class C */
+        expectClassFormatError(
+                createAbstractMethodClass(ACC_STRICT));
+    }
+
+    /* =============================================================================== */
+
+    /**
+     * interface I { abstract void m() default {}; }
+     *
+     * TEST: ClassLoader.loadClass("I") ==> ClassFormatError
+     */
+    public void testAbstractMethodDefault() {
+        expectClassFormatError(
+                createDefaultMethodInterface(ACC_ABSTRACT));
+    }
+
+    /* ====================================================================== */
+
+    // Helper methods
+    private Interface createAbstractMethodInterface(int acc) {
+        return factory.getBuilder()
+            .intf("I")
+                .abstractMethod("m", "()V").flags(acc)
+                .build()
+            .build();
+    }
+
+    private Clazz createAbstractMethodClass(int acc) {
+        return factory.getBuilder()
+            .clazz("I")
+                .abstractMethod("m", "()V").flags(acc)
+                .build()
+            .build();
+    }
+
+    private Interface createDefaultMethodInterface(int acc) {
+        return factory.getBuilder()
+            .intf("I")
+                .defaultMethod("m", "()V").flags(acc)
+                    .body(new EmptyBody())
+                .build()
+            .build();
+    }
+
+    private void expectException(Clazz clz, Class<? extends Throwable> exc) {
+        TestBuilder b = factory.getBuilder()
+                .register(clz);
+
+        b.test().loadClass(clz).throws_(exc).done()
+        .run();
+    }
+
+    private void loadClass(Clazz clz) {
+        TestBuilder b = factory.getBuilder()
+                .register(clz);
+
+        b.test().loadClass(clz).ignoreResult().done()
+        .run();
+    }
+
+    private void expectClassFormatError(Clazz clz) {
+        expectException(clz, ClassFormatError.class);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/BasicTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,381 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth;
+
+import nsk.share.TestFailure;
+import nsk.share.test.TestBase;
+import vm.runtime.defmeth.shared.MemoryClassLoader;
+import vm.runtime.defmeth.shared.annotation.KnownFailure;
+import vm.runtime.defmeth.shared.annotation.NotApplicableFor;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+import vm.runtime.defmeth.shared.data.*;
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+import vm.runtime.defmeth.shared.DefMethTest;
+
+import java.util.Map;
+
+import static vm.runtime.defmeth.shared.ExecutionMode.*;
+
+/**
+ * Basic tests on some of the assertions from JVMS.
+ */
+public class BasicTest extends DefMethTest {
+
+    public static void main(String[] args) {
+        TestBase.runTest(new BasicTest(), args);
+    }
+
+    /*
+     * JVMS 6.5 invokevirtual
+     *
+     * ...
+     *
+     * Runtime Exceptions
+     *
+     * Otherwise, if the resolved method is not signature polymorphic:
+     *
+     */
+
+    /*
+     * ...
+     *
+     * If the resolved method is declared in an interface and the class of
+     * objectref does not implement the resolved interface, invokevirtual throws
+     * an IncompatibleClassChangeError.
+     */
+    @KnownFailure(modes = {
+        REFLECTION,                           // throws IAE
+        INVOKE_GENERIC, INVOKE_WITH_ARGS})    // throws ClassCastException
+    public void testInterfaceNotImplemented() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()V").emptyBody().build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").build();
+
+        Class expectedClass;
+        if (factory.getExecutionMode().equals("REFLECTION")) {
+            expectedClass = IllegalArgumentException.class;
+        } else if (factory.getExecutionMode().equals("INVOKE_WITH_ARGS")) {
+            // Notes from JDK-8029926 which details reasons behind CCE.
+        // The code below demonstrates the use of a MethodHandle
+            // of kind REF_invokeInterface pointing to method I.m.
+            // Because 'invoke' is called, this MethodHandle is effectively
+            // wrapped in the type adaptations necessary to accept a C
+            // as the first argument. ***Before we even get to the point
+            // of the invokeinterface call to I.m***, the adaptation
+            // code must run, and that is where the ClassCastException occurs.
+            // This exception can be thrown from code that is cleanly
+            // compiled and does no bytecode generation, so an ICCE would
+        // be inappropriate since no classes are changed.
+            expectedClass = ClassCastException.class;
+        } else {
+            expectedClass = IncompatibleClassChangeError.class;
+        }
+
+        b.test().callSite(I, C, "m", "()V").throws_(expectedClass).done()
+
+        .run();
+    }
+
+    /*
+     * ...
+     *
+     * Otherwise, if no method matching the resolved name and descriptor is
+     * selected, invokevirtual throws an NoSuchMethodError.
+     *
+     * ...
+     */
+    @KnownFailure(modes = {
+        DIRECT, REFLECTION, INVOKE_WITH_ARGS, // NSME, instead of AME
+        INVOKE_EXACT, INVOKE_GENERIC, INDY})        // IncompatibleClassChangeError, instead of AME
+    public void testNoMatch() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "(Ljava/lang/Object;)V").emptyBody().build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().callSite(C, C, "m",  "()I").throws_(NoSuchMethodError.class).done()
+         .test().callSite(C, C, "m1", "()V").throws_(NoSuchMethodError.class).done()
+         .test().callSite(C, C, "m", "(I)V").throws_(NoSuchMethodError.class).done()
+
+        .run();
+    }
+
+    /*
+     * ...
+     *
+     * 8025604: Updated specification text for both 5.4.3.3 and 5.4.4.4
+     * "Otherwise, if any superinterface of C declares a method with the name and
+     * descriptor specified by the method reference that has set neither
+     * its ACC_PRIVATE flag nor its ACC_STATIC flag, one of these is arbitrarily
+     * chosen and method lookup succeeds."
+     * If method lookup fails, method resolution throws a NoSuchMethodError
+     *
+     * ...
+     */
+    public void testNonPublic() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m1", "()V").private_().emptyBody().build()
+                .defaultMethod("m2", "()I").private_().returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().callSite(C, C, "m1",  "()V").throws_(NoSuchMethodError.class).done()
+         .test().callSite(C, C, "m2",  "()I").throws_(NoSuchMethodError.class).done()
+
+        .run();
+    }
+
+    /*
+     * Default method override w/ non-public concrete method
+     *
+     * interface I { void m() default {} }
+     * class C implements I {
+     *   [private/package-private/protected]
+     *   void m() {}
+     * }
+     *
+     */
+    @KnownFailure(modes = {INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY}) // NPE, instead of IAE
+    public void testNonPublicOverride() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m","()V").emptyBody().build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I)
+                .concreteMethod("m", "()V").private_().emptyBody().build()
+            .build();
+
+        ConcreteClass D = b.clazz("D").implement(I)
+                .concreteMethod("m", "()V").protected_().emptyBody().build()
+            .build();
+
+         ConcreteClass E = b.clazz("E").implement(I)
+                .concreteMethod("m", "()V").package_private().emptyBody().build()
+            .build();
+
+        b.test().callSite(I, C, "m", "()V").throws_(IllegalAccessError.class).done()
+         .test().callSite(I, D, "m", "()V").throws_(IllegalAccessError.class).done()
+         .test().callSite(I, E, "m", "()V").throws_(IllegalAccessError.class).done()
+
+        .run();
+    }
+
+
+    /**
+     * interface I {
+     *   static { throw new RE()}
+     *   public default void m() {}
+     * }
+     *
+     * class C implements I {}
+     *
+     * TEST: C c = new C(); ==> LinkageError
+     * Static initialization of class C will trigger
+     * I's static initialization due to I's default method.
+     */
+    public void testStaticInit() throws ClassNotFoundException {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("<clinit>", "()V")
+                    .flags(ACC_STATIC)
+                    .throw_(RuntimeException.class)
+                    .build()
+
+                .defaultMethod("m", "()V")
+                    .emptyBody().build()
+                .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().callSite(I, C, "m", "()V").throws_(LinkageError.class).done()
+
+        .run();
+    }
+
+    /**
+     * interface I {
+     *   static { throw new RE()}
+     *   private default void m() {}
+     * }
+     *
+     * class C implements I {}
+     *
+     * TEST: C c = new C(); ==> LinkageError
+     * Static initialization of class C will trigger
+     * I's static initialization due to I's private concrete method.
+     */
+    public void testStaticInitPrivate() throws ClassNotFoundException {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("<clinit>", "()V")
+                    .flags(ACC_STATIC)
+                    .throw_(RuntimeException.class)
+                    .build()
+
+                .defaultMethod("m", "()V")
+                    .flags(ACC_PRIVATE)
+                    .emptyBody().build()
+                .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        Class expectedClass;
+        if (factory.getExecutionMode().equals("REFLECTION")) {
+            expectedClass = NoSuchMethodException.class;
+        } else {
+            expectedClass = LinkageError.class;
+        }
+        b.test().callSite(I, C, "m", "()V").throws_(expectedClass).done()
+
+        .run();
+    }
+
+    /**
+     * interface I {
+     *   static { throw new RE()}
+     * }
+     * interface J {
+     *   public default int m() { return 1}
+     *
+     * class C implements I,J {}
+     *
+     * TEST: C c = new C()
+     *       c.m() returns 1
+     * Static initialization of class C will not trigger
+     * I's static initialization since I has no concrete methods.
+     */
+    public void testNotStaticInitNoDefault() throws ClassNotFoundException {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("<clinit>", "()V")
+                    .flags(ACC_STATIC)
+                    .throw_(RuntimeException.class)
+                    .build()
+                 .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I")
+                    .returns(1).build()
+                .build();
+
+        ConcreteClass C = b.clazz("C").implement(I,J).build();
+
+        b.test().callSite(C, C, "m", "()I").returns(1).done()
+
+        .run();
+    }
+
+    /*
+     * Example A.10
+     *
+     * Let L1 and L2 be class loaders with different interpretations of the type "A".
+     *
+     * Loaded by L1:
+     * public interface I { public default A m() { return null; } }
+     *
+     * Loaded by L2:
+     * public class C implements I {}
+     *
+     * TEST: I o = new C(); o.m() ==> LinkageError;
+     * TEST: C o = new C(); o.m() ==> LinkageError;
+     */
+    // disabling this test for REFLECTION and INVOKE for now until
+    // loader constraint issue associated with those modes has been resolved
+    @NotApplicableFor(modes = { REFLECTION, INVOKE_WITH_ARGS, INVOKE_EXACT, INVOKE_GENERIC, INDY })
+    public void testLoaderConstraint() throws Exception{
+        TestBuilder b = factory.getBuilder();
+
+        ConcreteClass A = b.clazz("A").build();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()LA;").returnsNewInstance(A).build()
+                .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().callSite(I, C, "m", "()LA;").throws_(LinkageError.class).done()
+         .test().callSite(C, C, "m", "()LA;").throws_(LinkageError.class).done()
+
+         .prepare(new TestBuilder.LoaderConstructor() {
+                @Override
+                public MemoryClassLoader construct(Map<String, byte[]> classFiles) {
+                    final byte[] cfI = classFiles.get("I");
+                    final byte[] cfC = classFiles.get("C");
+                    final byte[] cfA = classFiles.get("A");
+                    final byte[] cfT1 = classFiles.get("Test1_I_C_m");
+                    final byte[] cfT2 = classFiles.get("Test2_C_C_m");
+
+                    final ClassLoader l1 = new ClassLoader() {
+                        @Override
+                        protected Class<?> findClass(String name) throws ClassNotFoundException {
+                            switch (name) {
+                                case "I":
+                                    return defineClass(name, cfI, 0, cfI.length);
+                                case "A":
+                                    return defineClass(name, cfA, 0, cfA.length);
+                                default:
+                                    throw new ClassNotFoundException(name);
+                            }
+                        }
+                    };
+
+                    final MemoryClassLoader l2 = new MemoryClassLoader(classFiles) {
+                        @Override
+                        public Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
+                            if ("I".equals(name)) {
+                                return l1.loadClass(name);
+                            } else {
+                                return super.loadClass(name, resolve);
+                            }
+                        }
+                    };
+
+                    try {
+                        // Need to preload classes, otherwise A will be resolved in the same loader
+                        l1.loadClass("A"); l1.loadClass("I");
+                        l2.loadClass("A"); l2.loadClass("C");
+                    } catch (ClassNotFoundException e) {
+                        throw new TestFailure(e);
+                    }
+
+                    return l2;
+                }
+            }).run();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/ConflictingDefaultsTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,590 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth;
+
+import nsk.share.test.TestBase;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.annotation.KnownFailure;
+import vm.runtime.defmeth.shared.annotation.NotApplicableFor;
+import vm.runtime.defmeth.shared.data.*;
+import static vm.runtime.defmeth.shared.data.method.body.CallMethod.Invoke.*;
+import static vm.runtime.defmeth.shared.data.method.body.CallMethod.IndexbyteOp.*;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+import static vm.runtime.defmeth.shared.ExecutionMode.*;
+
+/**
+ * Tests on conflicting defaults.
+ *
+ * It is allowable to inherit a default through multiple paths (such as
+ * through a diamond-shaped interface hierarchy), but the resolution procedure
+ * is looking for a unique, most specific default-providing interface.
+ *
+ * If one default shadows  another (where a subinterface provides a different
+ * default for an extension method declared in a superinterface), then the less
+ * specific interface is pruned from consideration no matter where it appears
+ * in the inheritance hierarchy.  If two or more extended interfaces provide
+ * default implementations, and one is not a superinterface of the other, then
+ * neither is used and a linkage exception is thrown indicating conflicting
+ * default implementations.
+ */
+public class ConflictingDefaultsTest extends DefMethTest {
+    public static void main(String[] args) {
+        TestBase.runTest(new ConflictingDefaultsTest(), args);
+    }
+
+    /*
+     * Conflict
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J { int m() default { return 2; } }
+     * class C implements I, J {}
+     *
+     * TEST: C c = new C(); c.m() ==> ICCE
+     */
+    public void testConflict() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I,J).build();
+
+        b.test().callSite(C, C, "m","()I")
+                .throws_(IncompatibleClassChangeError.class)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * Maximally-specific Default (0.6.3 spec change)
+     *
+     * interface I { int m(); }
+     * interface J { int m() default { return 2; } }
+     * class C implements I, J {}
+     *
+     * TEST: C c = new C(); c.m() return 2
+     */
+    public void testMaximallySpecificDefault() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I,J).build();
+
+        b.test().callSite(C, C, "m","()I")
+                .returns(2)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * Reabstract
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J extends I { int m(); }
+     * class C implements J {}
+     *
+     * TEST: C c = new C(); c.m() ==> AME
+     */
+    public void testReabstract() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        b.test().callSite(C, C, "m","()I")
+                .throws_(AbstractMethodError.class)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * Reabstract2
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J extends I { int m(); }
+     * class C implements J {}
+     * class D extends C { callSuper C.m}
+     *
+     * TEST: C c = new C(); c.m() ==> AME
+     * TEST: J j = new C(); j.m() ==> AME
+     * TEST: I i = new C(); i.m() ==> AME
+     * TEST: D d = new D(); d.m() ==> callSuper C.m ==> AME
+     */
+    public void testReabstract2() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+        ConcreteClass D = b.clazz("D").extend(C)
+                .concreteMethod("m", "()I").callSuper(C, "m", "()I").build()
+            .build();
+
+        b.test().callSite(C, C, "m","()I")
+                .throws_(AbstractMethodError.class)
+            .done()
+         .test().callSite(J, C, "m","()I")
+                .throws_(AbstractMethodError.class)
+            .done()
+         .test().callSite(I, C, "m","()I")
+                .throws_(AbstractMethodError.class)
+            .done()
+         .test().callSite(D, D, "m","()I")
+                .throws_(AbstractMethodError.class)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * ReabstractConflictingDefaults
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J { int m() default { return 2; } }
+     * interface K extends I,J { int m(); }
+     * class A implements I,J {}
+     * class C extends A implements K {}
+     *
+     * TEST: A c = new C(); c.m() ==> AME
+     */
+    public void testReabstractConflictingDefaults() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        Interface K = b.intf("K").extend(I,J)
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass A = b.clazz("A").implement(I,J).build();
+        ConcreteClass C = b.clazz("C").extend(A).implement(K).build();
+
+        b.test().callSite(A, C, "m","()I")
+                .throws_(AbstractMethodError.class)
+            .done()
+
+        .run();
+    }
+
+
+    /*
+     * ReabstractConflictingDefaultsInvokeInterface
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J { int m() default { return 2; } }
+     * interface K extends I,J { int m(); }
+     * interface L extends K { }
+     * class A implements I,J {}
+     * class C extends A implements K {}
+     * class D extends C implements L {}
+     *
+     * TEST: I i = new A(); i.m() ==> ICCE
+     * TEST: K k = new C(); k.m() ==> AME
+     * TEST: L l = new D(); l.m() ==> AME
+     */
+    public void testReabstractConflictingDefaultsInvokeInterface() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        Interface K = b.intf("K").extend(I,J)
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        Interface L = b.intf("L").extend(K)
+            .build();
+
+        ConcreteClass A = b.clazz("A").implement(I,J).build();
+        ConcreteClass C = b.clazz("C").extend(A).implement(K).build();
+        ConcreteClass D = b.clazz("D").extend(C).implement(L).build();
+
+        b.test().callSite(I, A, "m","()I")
+                .throws_(IncompatibleClassChangeError.class)
+            .done()
+         .test().callSite(K, C, "m","()I")
+                .throws_(AbstractMethodError.class)
+            .done()
+         .test().callSite(L, D, "m","()I")
+                .throws_(AbstractMethodError.class)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * ReabstractConflictingDefaultsSuper
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J { int m() default { return 2; } }
+     * interface K extends I,J { int m(); }
+     * interface L extends K { }
+     * class A implements I,J {}
+     * class C extends A implements K {}
+     * class D extends C implements L {int m() {callSuper A.m }
+     *
+     * TEST: I i = new A(); i.m() ==> ICCE
+     * TEST: K k = new C(); CallSuper k.m() ==> AME
+     * TEST: L l = new D(); l.m() ==> AME
+     */
+    public void testReabstractConflictingDefaultsSuper() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        Interface K = b.intf("K").extend(I,J)
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        Interface L = b.intf("L").extend(K)
+            .build();
+
+        ConcreteClass A = b.clazz("A").implement(I,J).build();
+        ConcreteClass C = b.clazz("C").extend(A).implement(K).build();
+        ConcreteClass D = b.clazz("D").extend(C).implement(L)
+                .concreteMethod("m", "()I").callSuper(A, "m", "()I").build()
+            .build();
+
+        b.test().callSite(I, A, "m","()I")
+                .throws_(IncompatibleClassChangeError.class)
+            .done()
+         .test().callSite(L, D, "m","()I")
+                .throws_(AbstractMethodError.class)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * testReabstractResolveMethod00705m2
+     *
+     * Test case for JDK-8027804: JCK resolveMethod test fails expecting AME
+     *
+     * This test is an extension of the JCK test resolveMethod00705m2
+     * with additional invoke* bytecodes specified for testing purposes.
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J implements I { int m(); }
+     * class A implements J,I {}
+     * class C extends A {}
+     *
+     * TEST: A a = new C(); a.m() ==> AME (invokevirtual)
+     *       C c = new C(); c.m() ==> AME (invokevirtual)
+     *       J j = new C(); j.m() ==> AME (invokeinterface)
+     *       I i = new C(); i.m() ==> AME (invokeinterface)
+     *       c.test_Cmethod_ISMR(); c.super.m() ==> AME (invokespecial MR)
+     *       a.test_Amethod_ISIMR(); j.super.m() ==> AME (invokespecial IMR)
+     *
+     *       For ver > 49, error will be AME
+     *       For ver = 49, error will be VE
+     */
+
+    @NotApplicableFor(modes = { REDEFINITION }) // Can't redefine a class that gets error during loading
+    public void testReabstractResolveMethod00705m2() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+            .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass A = b.clazz("A").implement(J,I)
+                .concreteMethod("test_Amethod_ISIMR", "()V")
+                    .invoke(SPECIAL, b.clazzByName("J"), b.clazzByName("A"),
+                         "m", "()I", INTERFACEMETHODREF)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").extend(A)
+                .concreteMethod("test_Cmethod_ISMR", "()V")
+                    .invoke(SPECIAL, b.clazzByName("C"), b.clazzByName("C"),
+                         "m", "()I", CALLSITE)
+                .build()
+            .build();
+
+        Class expectedError1, expectedError2;
+        if (factory.getVer() >=52) {
+            expectedError1 = expectedError2 = AbstractMethodError.class;
+        } else {
+            expectedError1 = expectedError2 = VerifyError.class;
+        }
+
+         b.test().callSite(A, C, "m", "()I")
+                 .throws_(expectedError2)
+             .done()
+          .test().callSite(C, C, "m", "()I")
+                 .throws_(expectedError2)
+             .done()
+          .test().callSite(J, C, "m", "()I")
+                 .throws_(expectedError1)
+             .done()
+          .test().callSite(I, C, "m", "()I")
+                 .throws_(expectedError1)
+             .done()
+          .test().callSite(C, C, "test_Cmethod_ISMR", "()V")
+                 .throws_(expectedError2)
+             .done()
+          .test().callSite(A, C, "test_Amethod_ISIMR", "()V")
+                 .throws_(expectedError2)
+             .done()
+
+         .run();
+    }
+
+    /*
+     * Shadow
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J extends I { int m() default { return 2; } }
+     * class C implements J {}
+     *
+     * TEST: [I|J|C] c = new C(); c.m() == 2;
+     */
+    public void testShadow() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        b.test().callSite(I, C, "m","()I")
+                .returns(2)
+            .done()
+        .test()
+                .callSite(J, C, "m","()I")
+                .returns(2)
+            .done()
+        .test()
+                .callSite(C, C, "m","()I")
+                .returns(2)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * Disqualified
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J extends I { int m() default { return 2; } }
+     * class C implements I, J {}
+     *
+     * TEST: [I|J|C] c = new C(); c.m() == 2;
+     */
+    public void testDisqualified() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I,J).build();
+
+        b.test()
+                .callSite(I, C, "m","()I")
+                .returns(2)
+            .done()
+        .test()
+                .callSite(J, C, "m","()I")
+                .returns(2)
+            .done()
+        .test()
+                .callSite(C, C, "m","()I")
+                .returns(2)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * Mixed arity
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J { int m(int i) default { return 2; } }
+     * class C implements I, J {}
+     *
+     * TEST: I i = new C(); i.m() == 1; i.m(0) ==> NSME
+     * TEST: J j = new C(); j.m() ==> NSME; j.m(0) == 2
+     * TEST: C c = new C(); c.m() == 1; c.m(0) == 2
+     */
+    @KnownFailure(modes = { INVOKE_EXACT, INVOKE_GENERIC, INDY }) // IncompatibleClassChangeError instead of NoSuchMethodError
+    public void testMixedArity1() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "(I)I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I,J).build();
+
+        // I i = new C(); ...
+        b.test()
+                .callSite(I, C, "m","()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(I, C, "m","(I)I")
+                .params(0)
+                .throws_(NoSuchMethodError.class)
+            .done()
+
+        // J j = new C(); ...
+        .test()
+                .callSite(J, C, "m","()I")
+                .throws_(NoSuchMethodError.class)
+            .done()
+        .test()
+                .callSite(J, C, "m","(I)I")
+                .params(0)
+                .returns(2)
+            .done()
+
+        // C c = new C(); ...
+        .test()
+                .callSite(C, C, "m","()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(C, C, "m","(I)I")
+                .params(0)
+                .returns(2)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * Mixed arity
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J { int m() default { return 2; } }
+     * class C implements I, J { int m(int i) { return 3; }}
+     *
+     * TEST: I i = new C(); i.m() ==> ICCE
+     * TEST: J j = new C(); j.m() ==> ICCE
+     * TEST: C c = new C(); c.m() ==> ICCE; c.m(0) == 3
+     */
+    public void testMixedArity2() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I,J)
+                .concreteMethod("m", "(I)I").returns(3).build()
+            .build();
+
+        // I i = new C(); ...
+        b.test()
+                .callSite(I, C, "m","()I")
+                .throws_(IncompatibleClassChangeError.class)
+            .done()
+
+        // J j = new C(); ...
+        .test()
+                .callSite(J, C, "m","()I")
+                .throws_(IncompatibleClassChangeError.class)
+            .done()
+
+        // C c = new C(); ...
+        .test()
+                .callSite(C, C, "m","()I")
+                .throws_(IncompatibleClassChangeError.class)
+            .done()
+        .test()
+                .callSite(C, C, "m","(I)I")
+                .params(0)
+                .returns(3)
+            .done()
+
+        .run();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/DefaultVsAbstractTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,526 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth;
+
+import nsk.share.test.TestBase;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.annotation.KnownFailure;
+import vm.runtime.defmeth.shared.data.*;
+import vm.runtime.defmeth.shared.data.method.param.NewInstanceParam;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+import static vm.runtime.defmeth.shared.ExecutionMode.*;
+import static vm.runtime.defmeth.shared.data.method.body.CallMethod.Invoke.*;
+import static vm.runtime.defmeth.shared.data.method.body.CallMethod.IndexbyteOp.*;
+
+/**
+ * Tests on interaction of default methods with abstract methods
+ *
+ * The rule: "the superclass always wins."
+ *
+ * In searching the superclass hierarchy, a declaration in a superclass is
+ * preferred to a default in an interface. This preference includes abstract
+ * methods in superclasses as well; the defaults are only considered when
+ * the entire implementation hierarchy is silent on the status of the method
+ * in question.
+ */
+public class DefaultVsAbstractTest extends DefMethTest {
+
+    public static void main(String[] args) {
+        TestBase.runTest(new DefaultVsAbstractTest(), args);
+    }
+
+    /*
+     * interface I          { public int m() default { return 1; } }
+     * class C implements I { public abstract int m(); }
+     *
+     * TEST: new C() throws InstantiationError
+     */
+    public void test0() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I)
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        b.test()
+            .callSite(I, C, "m", "()I")
+            .throws_(InstantiationError.class)
+            .done()
+        .run();
+    }
+
+    /*
+     * interface I          {
+     *     public int m() default { return 1; }
+     * }
+     * class C implements I {
+     *     public abstract int m();
+     * }
+     * class D extends C {}
+     *
+     * TEST: I i = new D(); i.m() ==> AME
+     * TEST: C c = new D(); c.m() ==> AME
+     * TEST: D d = new D(); d.m() ==> AME
+     */
+    @KnownFailure(modes = {INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY }) // Test1_I_D_m: NPE instead of AME
+                                                                                   // Test3_D_D_m: AME => IAE => ICCE instead of AME
+    public void test1() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I)
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass D = b.clazz("D").extend(C).build();
+
+        b.test()
+            .callSite(I, D, "m",  "()I")
+            .throws_(AbstractMethodError.class)
+            .done()
+        .test()
+            .callSite(C, D, "m", "()I")
+            .throws_(AbstractMethodError.class)
+            .done()
+        .test()
+            .callSite(D, D, "m", "()I")
+            .throws_(AbstractMethodError.class)
+            .done()
+        .run();
+    }
+
+    /*
+     * interface I {
+     *     default  public int m() { return 1; }
+     * }
+     * class C     {
+     *     abstract public int m();
+     * }
+     * class D extends C implements I {}
+     *
+     * TEST: I o = new D(); o.m()I throws AME
+     * TEST: C o = new D(); o.m()I throws AME
+     * TEST: D o = new D(); o.m()I throws AME
+     */
+    @KnownFailure(modes = { INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY }) // Test1_I_D_m: NPE instead of AME
+                                                                                    // Test3_D_D_m: AME => IAE => ICCE instead of AME
+    public void test2() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C")
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass D = b.clazz("D").extend(C).implement(I).build();
+
+        b.test()
+            .callSite(I, D, "m", "()I")
+            .throws_(AbstractMethodError.class)
+            .done()
+        .test()
+            .callSite(C, D, "m", "()I")
+            .throws_(AbstractMethodError.class)
+            .done()
+        .test()
+            .callSite(D, D, "m", "()I")
+            .throws_(AbstractMethodError.class)
+            .done()
+        .run();
+    }
+
+    /*
+     * interface I {
+     *     default public int m() { return 1; }
+     * }
+     * class C {
+     *     abstract public int m();
+     * }
+     * class D extends C implements I {
+     *     public int m()  { return 2; }
+     * }
+     *
+     * TEST: I o = new D(); o.m()I == 2
+     * TEST: C o = new D(); o.m()I == 2
+     * TEST: D o = new D(); o.m()I == 2
+     */
+    public void test3() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C")
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass D = b.clazz("D").extend(C).implement(I)
+                .concreteMethod("m", "()I").returns(2)
+                .build()
+            .build();
+
+        b.test() // I i = new D(); ...
+            .callSite(I, D, "m", "()I").returns(2)
+            .done()
+        .test()  // C c = new D(); ...
+            .callSite(C, D, "m", "()I").returns(2)
+            .done()
+        .test()  // D d = new C(); ...
+            .callSite(D, D, "m", "()I").returns(2)
+            .done()
+        .run();
+    }
+
+    /*
+     * interface I {
+     *     default public int m() { return 1; }
+     * }
+     * class E {
+     *     abstract public int m();
+     * }
+     * class D extends E {}
+     * class C extends D implements I {}
+     *
+     * TEST: I o = new C(); o.m()I throws AME
+     * TEST: E o = new C(); o.m()I throws AME
+     * TEST: D o = new C(); o.m()I throws AME
+     * TEST: C o = new C(); o.m()I throws AME
+     */
+    @KnownFailure(modes = {
+        INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY // Test1_I_C_m: NPE instead of AME
+                                                             // Test3_D_C_m: AME => IAE => ICCE instead of AME
+                                                             // Test4_C_C_m: AME => IAE => ICCE instead of AME
+    })
+    public void test4() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+                .build();
+
+        ConcreteClass E = b.clazz("E")
+                .abstractMethod("m", "()I").build()
+                .build();
+
+        ConcreteClass D = b.clazz("D").extend(E).build();
+
+        ConcreteClass C = b.clazz("C").extend(D).implement(I).build();
+
+        b.test() // I i = new C(); ...
+            .callSite(I, C, "m", "()I")
+            .throws_(AbstractMethodError.class)
+            .done()
+        .test() // E e = new C(); ...
+            .callSite(E, C, "m", "()I")
+            .throws_(AbstractMethodError.class)
+            .done()
+        .test() // D d = new C(); ...
+            .callSite(D, C, "m", "()I")
+            .throws_(AbstractMethodError.class)
+            .done()
+        .test() // C c = new C(); ...
+            .callSite(C, C, "m", "()I")
+            .throws_(AbstractMethodError.class)
+            .done()
+        .run();
+    }
+
+    /*
+     * interface I {
+     *     default public int m() { return 1; }
+     * }
+     * class E {
+     *     abstract public int m();
+     * }
+     * class D extends E {
+     *     public int m()  { return 2; }
+     * }
+     * class C extends D implements I {}
+     *
+     * TEST: I o = new C(); o.m()I == 2
+     * TEST: I o = new C(); o.m()I == 2
+     * TEST: I o = new C(); o.m()I == 2
+     * TEST: I o = new C(); o.m()I == 2
+     */
+    public void test5() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass E = b.clazz("E")
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass D = b.clazz("D").extend(E)
+                .concreteMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").extend(D).implement(I).build();
+
+        b.test() // I i = new C(); ...
+            .callSite(I, C, "m", "()I")
+            .returns(2)
+            .done()
+        .test() // E e = new C(); ...
+            .callSite(I, C, "m", "()I")
+            .returns(2)
+            .done()
+        .test() // D d = new C(); ...
+            .callSite(I, C, "m", "()I")
+            .returns(2)
+            .done()
+        .test() // C c = new C(); ...
+            .callSite(I, C, "m", "()I")
+            .returns(2)
+            .done()
+        .run();
+    }
+
+    /*
+     * interface I {
+     *     default public int m() { return 1; }
+     * }
+     * interface J {
+     *     default public int m() { return 2; }
+     * }
+     * class E {
+     *     abstract public int m();
+     * }
+     * class D extends E {
+     *     public int m()  { return 3; }
+     * }
+     * class C extends D implements I, J {}
+     *
+     * TEST: I o = new C(); o.m()I == 3
+     * TEST: J o = new C(); o.m()I == 3
+     * TEST: E o = new C(); o.m()I == 3
+     * TEST: D o = new C(); o.m()I == 3
+     * TEST: J o = new C(); o.m()I == 3
+     */
+    public void test6() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass E = b.clazz("E")
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass D = b.clazz("D").extend(E)
+                .concreteMethod("m", "()I").returns(3).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").extend(D).implement(I, J).build();
+
+
+        b.test() // I i = new C(); ...
+            .callSite(I, C, "m", "()I").returns(3)
+            .done()
+        .test() // J j = new C(); ...
+            .callSite(J, C, "m", "()I").returns(3)
+            .done()
+        .test()  // E e = new C(); ...
+            .callSite(E, C, "m", "()I").returns(3)
+            .done()
+        .test()  // D d = new C(); ...
+            .callSite(D, C, "m", "()I").returns(3)
+            .done()
+        .test() // C c = new C(); ...
+            .callSite(J, C, "m", "()I").returns(3)
+            .done()
+        .run();
+    }
+
+    /*
+     * interface I {
+     *     abstract public int m();
+     * }
+     *
+     * interface J {
+     *     default public int m() { return 1; }
+     * }
+     *
+     * class A implements I;
+     *
+     * class B extends A implements J;
+     *
+     * TEST: A o = new B(); o.m()I
+     *                returns 1 for REFLECTION and INVOKE_WITH_ARGS
+     *                ICCE for other modes
+     */
+    public void testInvokeInterfaceClassDefaultMethod() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+            .abstractMethod("m", "()I").build()
+            .build();
+
+        Interface J = b.intf("J")
+            .extend(I)
+            .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass A = b.clazz("A").implement(I).build();
+
+        ConcreteClass B = b.clazz("B").extend(A).implement(J).build();
+
+        String exeMode = factory.getExecutionMode();
+
+        // the test passes in the reflection mode because there's no way to
+        // express invokeinterface on a class using Reflection API
+        // In the test generator, vm.runtime.defmeth.shared.executor.ReflectionTest,
+        // the invokeinterface is switched to invokevirtual.
+        //
+        // the test passes in the INVOKE_WITH_ARGS mode due to the fix for
+        // JDK-8032010 to conform with the removal of the following check
+        // during method resolution in JVMS-5.4.3.3 Method Resolution
+        // "If method lookup succeeds and the method is abstract, but C is not
+        // abstract, method resolution throws an AbstractMethodError."
+        if (exeMode.equals("REFLECTION") ||
+            exeMode.equals("INVOKE_WITH_ARGS")) {
+            b.test().interfaceCallSite(A, B, "m", "()I")
+             .returns(1).done()
+             .run();
+        } else {
+            // ICCE in other modes due to
+            // JVMS-5.4.3.4. Interface Method Resolution
+            //   When resolving an interface method reference:
+            //     If C is not an interface, interface method resolution throws an IncompatibleClassChangeError.
+            b.test().interfaceCallSite(A, B, "m", "()I")
+             .throws_(IncompatibleClassChangeError.class).done()
+             .run();
+        }
+    }
+
+    /*
+     * interface I {
+     *     abstract public int m();
+     * }
+     *
+     * interface J {
+     *     abstract public int m();
+     * }
+     *
+     * class A implements I;
+     *
+     * class B extends A implements J;
+     *
+     * TEST: A o = new B(); o.m()I
+     *                ICCE for DIRECT mode
+     *                AME for REFLECTION and INVOKE_WITH_ARGS modes
+     *                IAE for other modes
+     */
+    public void testInvokeInterfaceClassAbstractMethod() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+            .abstractMethod("m", "()I").build()
+            .build();
+
+        Interface J = b.intf("J")
+            .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass A = b.clazz("A").implement(I).build();
+
+        ConcreteClass B = b.clazz("B").extend(A).implement(J).build();
+
+        String exeMode = factory.getExecutionMode();
+
+        // ICCE in direct mode due to
+        // JVMS-5.4.3.4. Interface Method Resolution
+        //   When resolving an interface method reference:
+        //     If C is not an interface, interface method resolution throws an IncompatibleClassChangeError.
+        Class expectedError = IncompatibleClassChangeError.class;;
+
+        b.test().interfaceCallSite(A, B, "m", "()I")
+         .throws_(expectedError).done()
+         .run();
+
+    }
+
+    /*
+     * interface I {
+     *     public int m() default { return 1; }
+     * }
+     *
+     * interface J {
+     *     public int m() default { return 1; }
+     * }
+     *
+     * class A implements I;
+     *
+     * class B extends A implements J;
+     *
+     * TEST: A o = new B(); o.m()I
+     *                ICCE for all modes
+     */
+    public void testInvokeInterfaceMultipleDefinedClassDefaultMethod() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+            .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+            .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass A = b.clazz("A").implement(I).build();
+
+        ConcreteClass B = b.clazz("B").extend(A).implement(J).build();
+
+        String exeMode = factory.getExecutionMode();
+
+        // ICCE in direct mode due to
+        // JVMS-5.4.3.4. Interface Method Resolution
+        //   When resolving an interface method reference:
+        //     If C is not an interface, interface method resolution throws an IncompatibleClassChangeError.
+        Class expectedError = IncompatibleClassChangeError.class;
+
+        b.test().interfaceCallSite(A, B, "m", "()I")
+         .throws_(expectedError).done()
+         .run();
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/MethodResolutionTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,904 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth;
+
+import nsk.share.test.TestBase;
+import vm.runtime.defmeth.shared.annotation.KnownFailure;
+import vm.runtime.defmeth.shared.data.*;
+import vm.runtime.defmeth.shared.data.method.param.*;
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+import static vm.runtime.defmeth.shared.ExecutionMode.*;
+
+/**
+ * Tests on method resolution in presence of default methods in the hierarchy.
+ *
+ * Because default methods reside in interfaces, and interfaces do not have
+ * the constraint of being single-inheritance, it is possible to inherit
+ * multiple conflicting default methods, or even inherit the same default method
+ * from many different inheritance paths.
+ *
+ * There is an algorithm to select which method to use in the case that a
+ * concrete class does not provide an implementation. Informally, the algorithm
+ * works as follows:
+ *
+ * (1) If there is a adequate implementation in the class itself or in a
+ *     superclass (not an interface), then that implementation should be used
+ *     (i.e., class methods always "win").
+ *
+ * (2) Failing that, create the set of methods consisting of all methods in the
+ *     type hierarchy which satisfy the slot to be filled, where in this case
+ *     'satisfy' means that the methods have the same name, the same language-
+ *     level representation of the parameters, and covariant return values. Both
+ *     default methods and abstract methods will be part of this set.
+ *
+ * (3) Remove from this set, any method which has a "more specific" version
+ *     anywhere in the hierarchy.  That is, if C implements I,J and I extends J,
+ *     then if both I and J have a suitable methods, J's method is eliminated
+ *     from the set since I is a subtype of J -- there exist a more specific
+ *     method than J's method, so that is eliminated.
+ *
+ * (4) If the remaining set contains only a single entry, then that method is
+ *     selected. Note that the method may be abstract, in which case an
+ *     IncompatibleClassChangeError is thrown when/if the method is called. If there are
+ *     multiple entries in the set, or no entries, then this also results in an
+ *     IncompatibleClassChangeError when called.
+ */
+public class MethodResolutionTest extends DefMethTest {
+
+    public static void main(String[] args) {
+        TestBase.runTest(new MethodResolutionTest(), args);
+    }
+
+    /*
+     * Basic
+     *
+     * interface I { int m(); }
+     * class C implements I { public int m() { return 1; } }
+     *
+     * TEST: C c = new C(); c.m() == 1;
+     * TEST: I i = new C(); i.m() == 1;
+     */
+    public void testBasic() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I =
+            b.intf("I")
+                .abstractMethod("m", "()I").build()
+             .build();
+
+        ConcreteClass C =
+             b.clazz("C").implement(I)
+                .concreteMethod("m", "()I").returns(1).build()
+              .build();
+
+        b.test()
+                .callSite(I, C, "m", "()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(C, C, "m", "()I")
+                .returns(1)
+            .done()
+        .run();
+    }
+
+    /*
+     * Basic Default
+     *
+     * interface I { int m() default { return 1; } }
+     * class C implements I {}
+     *
+     * TEST: C c = new C(); c.m() == 1;
+     * TEST: I i = new C(); i.m() == 1;
+     */
+    public void testBasicDefault() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I =
+            b.intf("I")
+                .defaultMethod("m", "()I").returns(1)
+                .build()
+             .build();
+
+        ConcreteClass C =
+             b.clazz("C").implement(I)
+              .build();
+
+        b.test()
+                .callSite(I, C, "m", "()I")
+                .returns(1)
+            .done()
+        .test().callSite(C, C, "m", "()I")
+                .returns(1)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * Far Default
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J extends I {}
+     * interface K extends J {}
+     * class C implements K {}
+     *
+     * TEST: [I|J|K|C] i = new C(); i.m() == 1;
+     */
+    @KnownFailure(modes = { INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY }) // Test2_J_C_m, Test3_K_C_m: AME => IAE => ICCE instead of successful call
+    public void testFarDefault() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I =
+            b.intf("I")
+                .defaultMethod("m", "()I").returns(1)
+                .build()
+             .build();
+
+        Interface J = b.intf("J").extend(I).build();
+        Interface K = b.intf("K").extend(J).build();
+
+        ConcreteClass C =
+             b.clazz("C").implement(K)
+              .build();
+
+        b.test()
+                .callSite(I, C, "m", "()I")
+                .returns(1)
+            .done()
+        .test().callSite(J, C, "m", "()I")
+                .returns(1)
+            .done()
+        .test().callSite(K, C, "m", "()I")
+                .returns(1)
+            .done()
+        .test().callSite(C, C, "m", "()I")
+                .returns(1)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * Override Abstract
+     *
+     * interface I { int m(); }
+     * interface J extends I { int m() default { return 1; } }
+     * interface K extends J {}
+     * class C implements K {}
+     *
+     * TEST: C c = new C(); c.m() == 1;
+     * TEST: K k = new C(); k.m() == 1;
+     */
+    @KnownFailure(modes = { INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY }) // Test3_K_C_m: AME => IAE => ICCE instead of successful call
+    public void testOverrideAbstract() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface K = b.intf("K").extend(J).build();
+
+        ConcreteClass C = b.clazz("C").implement(K).build();
+
+        b.test()
+                .callSite(I, C, "m", "()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(J, C, "m", "()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(K, C, "m", "()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(C, C, "m", "()I")
+                .returns(1)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * Default vs Concrete
+     *
+     * interface I { int m() default { return 1; } }
+     * class C implements I { public int m() { return 2; } }
+     *
+     * TEST: [C|I] c = new C(); c.m() == 2;
+     */
+    public void testDefaultVsConcrete() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I)
+                .concreteMethod("m", "()I").returns(2).build()
+            .build();
+
+        b.test()
+                .callSite(I, C, "m", "()I")
+                .returns(2)
+            .done()
+        .test()
+                .callSite(C, C, "m", "()I")
+                .returns(2)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * InheritedDefault
+     *
+     * interface I { int m() default { return 1; } }
+     * class B implements I {}
+     * class C extends B {}
+     *
+     * TEST: [I|B|C] v = new C(); v.m() == 1;
+     */
+    public void testInheritedDefault() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass B = b.clazz("B").implement(I).build();
+        ConcreteClass C = b.clazz("C").extend(B).build();
+
+        b.test()
+                .callSite(I, C, "m","()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(B, C, "m","()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(C, C, "m","()I")
+                .returns(1)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * ExistingInherited
+     *
+     * interface I { int m() default { return 1; } }
+     * class B { public int m() { return 2; } }
+     * class C extends B implements I {}
+     *
+     * TEST: [I|B|C] v = new C(); v.m() == 2;
+     */
+    public void testExistingInherited() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass B = b.clazz("B")
+                .concreteMethod("m", "()I").returns(2).build()
+                .build();
+
+        ConcreteClass C = b.clazz("C").extend(B).implement(I).build();
+
+        b.test()
+                .callSite(I, C, "m","()I")
+                .returns(2)
+            .done()
+        .test()
+                .callSite(B, C, "m","()I")
+                .returns(2)
+            .done()
+        .test()
+                .callSite(C, C, "m","()I")
+                .returns(2)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * ExistingInheritedOverride
+     *
+     * interface I { int m() default { return 1; } }
+     * class B implements I { public int m() { return 2; } }
+     * class C extends B { public int m() { return 3; } }
+     *
+     * TEST: [I|B|D] v = new C(); v.m() == 3;
+     */
+    public void testExistingInheritedOverride() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass B = b.clazz("B").implement(I)
+                .concreteMethod("m", "()I").returns(2).build()
+                .build();
+
+        ConcreteClass C = b.clazz("C").extend(B)
+                .concreteMethod("m", "()I").returns(3).build()
+                .build();
+
+        b.test()
+                .callSite(I, C, "m","()I")
+                .returns(3)
+            .done()
+        .test()
+                .callSite(B, C, "m","()I")
+                .returns(3)
+            .done()
+        .test()
+                .callSite(C, C, "m","()I")
+                .returns(3)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * ExistingInheritedPlusDefault
+     *
+     * interface I { int m() default { return 11; } }
+     * interface J { int m() default { return 12; } }
+     * class C implements I { public int m() { return 21; } }
+     * class D extends C { public int m() { return 22; } }
+     * class E extends D implements J {}
+     *
+     * TEST: [I|J|C|D|J] v = new E(); v.m() == 22;
+     */
+    public void testExistingInheritedPlusDefault() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(11).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(12).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I)
+                .concreteMethod("m","()I").returns(21).build()
+            .build();
+
+        ConcreteClass D = b.clazz("D").extend(C)
+                .concreteMethod("m", "()I").returns(22).build()
+            .build();
+
+        ConcreteClass E = b.clazz("E").extend(D).implement(J)
+                .build();
+
+        b.test()
+                .callSite(I, E, "m","()I")
+                .returns(22)
+            .done()
+        .test()
+                .callSite(J, E, "m","()I")
+                .returns(22)
+            .done()
+        .test()
+                .callSite(C, E, "m","()I")
+                .returns(22)
+            .done()
+        .test()
+                .callSite(D, E, "m","()I")
+                .returns(22)
+            .done()
+        .test()
+                .callSite(E, E, "m","()I")
+                .returns(22)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * InheritedWithConcrete
+     *
+     * interface I { int m() default { return 1; } }
+     * class B implements I {}
+     * class C extends B { public int m() { return 2; } }
+     *
+     * TEST: [I|B|C] v = new C(); v.m() == 2;
+     */
+    public void testInheritedWithConcrete() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass B = b.clazz("B").implement(I).build();
+
+        ConcreteClass C = b.clazz("C").extend(B)
+                .concreteMethod("m", "()I").returns(2).build()
+                .build();
+
+        b.test()
+                .callSite(I, C, "m","()I")
+                .returns(2)
+            .done()
+        .test()
+                .callSite(B, C, "m","()I")
+                .returns(2)
+            .done()
+        .test()
+                .callSite(C, C, "m","()I")
+                .returns(2)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * InheritedWithConcreteAndImpl
+     *
+     * interface I { int m() default { return 1; } }
+     * class B implements I {}
+     * class C extends B implements I { public int m() { return 2; } }
+     *
+     * TEST: [I|B|C] v = new C(); v.m() == 2;
+     */
+    public void testInheritedWithConcreteAndImpl() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass B = b.clazz("B").implement(I).build();
+
+        ConcreteClass C = b.clazz("C").extend(B)
+                .concreteMethod("m", "()I").returns(2).build()
+            .build();
+
+        b.test()
+                .callSite(I, C, "m","()I")
+                .returns(2)
+            .done()
+        .test()
+                .callSite(B, C, "m","()I")
+                .returns(2)
+            .done()
+        .test()
+                .callSite(C, C, "m","()I")
+                .returns(2)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * Diamond
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J extends I {}
+     * interface K extends I {}
+     * class C implements J, K {}
+     *
+     * TEST: [I|J|K|C] c = new C(); c.m() == 99
+     */
+    @KnownFailure(modes = { INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY }) // Test2_J_C_m, Test3_K_C_m: AME => IAE => ICCE instead of successful call
+    public void testDiamond() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I).build();
+        Interface K = b.intf("K").extend(I).build();
+
+        ConcreteClass C = b.clazz("C").implement(J,K)
+            .build();
+
+        b.test()
+                .callSite(I, C, "m","()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(J, C, "m","()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(K, C, "m","()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(C, C, "m","()I")
+                .returns(1)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * ExpandedDiamond
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J extends I {}
+     * interface K extends I {}
+     * interface L extends I {}
+     * interface M extends I {}
+     * class C implements J, K, L, M {}
+     *
+     * TEST: [I|J|K|L|M|C] c = new C(); c.m() == 1
+     */
+    @KnownFailure(modes = { INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY }) // Test2_J_C_m, Test3_K_C_m, Test4_L_C_m, Test5_M_C_m:
+                                                                                    // AME => IAE => ICCE instead of successful call
+    public void testExpandedDiamond() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I).build();
+        Interface K = b.intf("K").extend(I).build();
+        Interface L = b.intf("L").extend(I).build();
+        Interface M = b.intf("M").extend(I).build();
+
+        ConcreteClass C = b.clazz("C").implement(J,K,L,M)
+            .build();
+
+        b.test()
+                .callSite(I, C, "m","()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(J, C, "m","()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(K, C, "m","()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(L, C, "m","()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(M, C, "m","()I")
+                .returns(1)
+            .done()
+        .test()
+                .callSite(C, C, "m","()I")
+                .returns(1)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * SelfFill w/ explicit bridge
+     *
+     * interface I<T> { int m(T t) default { return 1; } }
+     * class C implements I<C> {
+     *   public int m(C s) { return 2; }
+     *   public int m(Object o) { ... }
+     * }
+     *
+     * TEST: I i = new C(); i.m((Object)null) == 2;
+     * TEST: C c = new C(); c.m((Object)null) == 2;
+     * TEST: C c = new C(); c.m((C)null) == 2;
+     */
+    public void testSelfFillWithExplicitBridge() {
+        TestBuilder b = factory.getBuilder();
+
+        /* interface I<T> { ... */
+        Interface I = b.intf("I").sig("<T:Ljava/lang/Object;>Ljava/lang/Object;")
+                    /* default int m(T t) { return 1; } */
+                    .defaultMethod("m", "(Ljava/lang/Object;)I")
+                        .sig("(TT;)I")
+                        .returns(1)
+                        .build()
+                .build();
+
+        /* class C implements I<C> { ... */
+        ConcreteClass C = b.clazz("C").implement(I)
+                .sig("Ljava/lang/Object;LI<LC;>;")
+
+                /* public int m(I i) { return 2; } */
+                .concreteMethod("m","(LC;)I").returns(2).build()
+
+                /* bridge method for m(LI;)I */
+                .concreteMethod("m","(Ljava/lang/Object;)I")
+                    .flags(ACC_PUBLIC | ACC_BRIDGE | ACC_SYNTHETIC)
+                    .returns(2)
+                .build()
+            .build();
+
+        // I i = new C(); ...
+        b.test()
+                .callSite(I, C, "m", "(Ljava/lang/Object;)I")
+                .params(new NullParam())
+                .returns(2)
+            .done()
+        // C c = new C(); ...
+        .test()
+                .callSite(C, C, "m", "(Ljava/lang/Object;)I")
+                .params(new NullParam())
+                .returns(2)
+            .done()
+        .test()
+                .callSite(C, C, "m", "(LC;)I")
+                .params(new NullParam())
+                .returns(2)
+            .done()
+
+        .run();
+    }
+
+    /*
+     * interface I { int m() default { return 1; } }
+     * class C implements I { int m(int i) { return 2; } }
+     *
+     * TEST: C c = new C(); c.m(0) == 2;
+     * TEST: I i = new C(); i.m() == 1;
+     */
+    public void testMixedArity() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I =
+            b.intf("I")
+                .defaultMethod("m", "()I").returns(1)
+                .build()
+             .build();
+
+        ConcreteClass C =
+             b.clazz("C").implement(I)
+                .concreteMethod("m", "(I)I").returns(2)
+                .build()
+              .build();
+
+        b.test().callSite(I, C, "m", "()I")
+                .returns(1)
+            .build();
+        b.test().callSite(C, C, "m", "(I)I").params(ICONST_0)
+                .returns(2)
+            .build();
+
+        b.run();
+    }
+
+    /*
+     * interface I { int m() default { return 1; } }
+     * interface J { int m(int i) default { return 2; } }
+     * class C implements I, J {}
+     *
+     * TEST: I i = new C(); i.m() == 1;     i.m(0) ==> NSME
+     * TEST: J j = new C(); j.m() ==> NSME; j.m(0) == 2
+     * TEST: C c = new C(); c.m() == 1;     c.m(0) == 2
+     */
+    @KnownFailure(modes = { INVOKE_EXACT, INVOKE_GENERIC, INDY }) //Test2_I_C_m, Test3_J_C_m: NSMError => NSMException => ICCE instead of NSME
+    public void testConflictingDefaultMixedArity1() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1)
+                .build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "(I)I").returns(2)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I,J).build();
+
+
+        // I i = new C(); ...
+        b.test().callSite(I, C, "m", "()I")
+                .returns(1)
+            .build();
+        b.test().callSite(I, C, "m", "(I)I").params(ICONST_0)
+                .throws_(NoSuchMethodError.class)
+            .build();
+
+        // J j = new C(); ...
+        b.test().callSite(J, C, "m", "()I")
+                .throws_(NoSuchMethodError.class)
+            .build();
+        b.test().callSite(J, C, "m", "(I)I").params(ICONST_0)
+                .returns(2)
+            .build();
+
+        // C c = new C(); ...
+        b.test().callSite(C, C, "m", "()I")
+                .returns(1)
+            .build();
+        b.test().callSite(C, C, "m", "(I)I").params(ICONST_0)
+                .returns(2)
+            .build();
+
+        b.run();
+    }
+
+    /*
+     * interface I { int m() default { return 1; } }
+     * interface J { int m() default { return 2; } }
+     * class C implements I, J {
+     *   int m(int i) { return 3; }
+     * }
+     *
+     * TEST: I i = new C(); i.m(0) ==> ICCE
+     * TEST: J j = new C(); j.m(0) ==> ICCE
+     * TEST: C c = new C(); c.m() ==> ICCE; c.m(0) == 3
+     */
+    @KnownFailure(modes = { INVOKE_EXACT, INVOKE_GENERIC, INDY })
+    //Test2_I_C_m, Test3_J_C_m: NSMError => NSMException => ICCE instead of NSME
+    public void testConflictingDefaultMixedArity2() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1)
+                .build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I, J)
+                .concreteMethod("m", "(I)I").returns(3)
+                .build()
+            .build();
+
+        // I i = new C(); ...
+        b.test().callSite(I, C, "m", "()I")
+                .throws_(IncompatibleClassChangeError.class)
+            .build();
+        b.test().callSite(I, C, "m", "(I)I").params(ICONST_0)
+                .throws_(NoSuchMethodError.class)
+            .build();
+
+        // J j = new C(); ...
+        b.test().callSite(J, C, "m", "()I")
+                .throws_(IncompatibleClassChangeError.class)
+            .build();
+        b.test().callSite(J, C, "m", "(I)I").params(ICONST_0)
+                .throws_(NoSuchMethodError.class)
+            .build();
+
+        // C c = new C(); ...
+        b.test().callSite(C, C, "m", "()I")
+                .throws_(IncompatibleClassChangeError.class)
+            .build();
+        b.test().callSite(C, C, "m", "(I)I").params(ICONST_0)
+                .returns(3)
+            .build();
+
+        b.run();
+    }
+
+    /* In package1:
+     * package p1;
+     * interface I {
+     *     default int m() { return 10; };
+     * }
+     * public interface J extends I {};
+     *
+     * In package2:
+     * class A implements p1.J {}
+     * A myA = new A;
+     * myA.m();  // should return 10 except for reflect mode,
+     *           // throw IllegalAccessException with reflect mode
+     * B myB = new B;  // not related
+     */
+
+    public void testMethodResolvedInDifferentPackage() {
+        TestBuilder b = factory.getBuilder();
+        Interface I = b.intf("p1.I").flags(~ACC_PUBLIC & ACC_PUBLIC) // make it package private
+                .defaultMethod("m", "()I").returns(10)
+                .build()
+            .build();
+
+        Interface J = b.intf("p1.J").extend(I)
+            .build();
+
+        ConcreteClass myA = b.clazz("p2.A").implement(J)
+            .build();
+        if (!factory.getExecutionMode().equals("REFLECTION")) {
+            b.test()
+                .callSite(myA, myA, "m", "()I")
+                .returns(10)
+                .done()
+            .run();
+         // -mode reflect will fail with IAE as expected
+         } else {
+            b.test()
+                .callSite(myA, myA, "m", "()I")
+                .throws_(IllegalAccessException.class)
+                .done()
+            .run();
+         }
+
+        ConcreteClass myB = b.clazz("p2.B").build();
+    }
+
+    /* In package p1:
+     * package p1;
+     * interface I {
+     *   public default int m() { return 12; };
+     * }
+     *
+     * public class A implements I {}
+     *
+     * In package p2:
+     * package p2;
+     * public interface J { int m(); }
+     *
+     * public class B extends p1.A implements J {
+     *   public int m() { return 13; }
+     * }
+     *
+     * Then:
+     *   A myA = new B;
+     *   myA.m();  // should return 13, not throw IllegalAccessError
+     */
+
+    public void testMethodResolvedInLocalFirst() {
+        TestBuilder b = factory.getBuilder();
+        Interface I = b.intf("p1.I")
+                .defaultMethod("m", "()I").returns(12)
+                .build()
+            .build();
+
+        ConcreteClass myA = b.clazz("p1.A").implement(I)
+            .build();
+
+        Interface J = b.intf("p2.J").abstractMethod("m", "()I")
+                .build()
+            .build();
+
+        ConcreteClass myB = b.clazz("p2.B").extend(myA).implement(J)
+                 .concreteMethod("m", "()I").returns(13)
+                 .build()
+            .build();
+
+        b.test()
+                .callSite(myB, myB, "m", "()I")
+                .returns(13)
+                .done()
+            .run();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/ObjectMethodOverridesTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,246 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth;
+
+import nsk.share.TestFailure;
+import nsk.share.test.TestBase;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.data.*;
+import static vm.runtime.defmeth.shared.data.method.body.CallMethod.Invoke.*;
+import static vm.runtime.defmeth.shared.data.method.body.CallMethod.IndexbyteOp.*;
+import vm.runtime.defmeth.shared.data.method.body.*;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+
+/**
+ * Test that default methods don't override methods inherited from Object class.
+ */
+public class ObjectMethodOverridesTest extends DefMethTest {
+
+    public static void main(String[] args) {
+        TestBase.runTest(new ObjectMethodOverridesTest(), args);
+    }
+
+    /* protected Object clone() */
+    public void testClone() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("clone", "()Ljava/lang/Object;")
+                    .throw_(TestFailure.class)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I)
+                .concreteMethod("m", "()V")
+                    // force an invokevirtual MR
+                    .invoke(CallMethod.Invoke.VIRTUAL,
+                            b.clazzByName("C"), b.clazzByName("C"),
+                            "clone", "()Ljava/lang/Object;", METHODREF)
+                .build()
+            .build();
+
+        b.test().callSite(C, C, "m", "()V")
+                .throws_(CloneNotSupportedException.class)
+                .done()
+
+        .run();
+    }
+
+    /* boolean equals(Object obj) */
+    public void testEquals() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("equals", "(Ljava/lang/Object;)Z")
+                    .throw_(TestFailure.class)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        ClassLoader cl = b.build();
+        Object c = cl.loadClass("C").newInstance();
+
+        c.equals(this);
+    }
+
+    /* void finalize() */
+    public void testFinalize() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("finalize", "()V")
+                    .throw_(TestFailure.class)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I)
+                .concreteMethod("m", "()V")
+                    // force an invokevirtual MR
+                    .invoke(CallMethod.Invoke.VIRTUAL,
+                            b.clazzByName("C"), b.clazzByName("C"), "finalize", "()V", METHODREF)
+                .build()
+            .build();
+
+        b.test().callSite(C, C, "m", "()V")
+                .ignoreResult()
+                .done()
+
+        .run();
+    }
+
+    /* final Class<?> getClass() */
+    public void testGetClass() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("getClass", "()Ljava/lang/Class;")
+                    .sig("()Ljava/lang/Class<*>;")
+                    .throw_(TestFailure.class)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().loadClass(I).throws_(VerifyError.class).done()
+        .run();
+    }
+
+    /* int hashCode() */
+    public void testHashCode() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("hashCode", "()I")
+                    .throw_(TestFailure.class)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        ClassLoader cl = b.build();
+        Object c = cl.loadClass("C").newInstance();
+
+        c.hashCode();
+    }
+
+
+    /* final void notify() */
+    public void testNotify() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("notify", "()V")
+                    .throw_(TestFailure.class)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().loadClass(I).throws_(VerifyError.class).done()
+        .run();
+    }
+
+    /* void notifyAll() */
+    public void testNotifyAll() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("notifyAll", "()V")
+                    .throw_(TestFailure.class)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().loadClass(I).throws_(VerifyError.class).done()
+        .run();
+    }
+
+    /* String toString() */
+    public void testToString() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("toString()", "()Ljava/lang/String;")
+                    .throw_(TestFailure.class)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        ClassLoader cl = b.build();
+        Object c = cl.loadClass("C").newInstance();
+
+        c.toString();
+    }
+
+    /* final void wait() */
+    public void testWait() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("wait", "()V")
+                    .throw_(TestFailure.class)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().loadClass(I).throws_(VerifyError.class).done()
+        .run();
+    }
+
+    /* final void wait(long timeout) */
+    public void testTimedWait() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("wait", "(J)V")
+                    .throw_(TestFailure.class)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().loadClass(I).throws_(VerifyError.class).done()
+        .run();
+    }
+
+    /* final void wait(long timeout, int nanos) */
+    public void testTimedWait1() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("wait", "(JI)V")
+                    .throw_(TestFailure.class)
+                .build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().loadClass(I).throws_(VerifyError.class).done()
+        .run();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/PrivateMethodsTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,814 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth;
+
+import nsk.share.test.TestBase;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.annotation.Crash;
+import vm.runtime.defmeth.shared.annotation.KnownFailure;
+import vm.runtime.defmeth.shared.annotation.NotApplicableFor;
+import vm.runtime.defmeth.shared.data.*;
+import static vm.runtime.defmeth.shared.data.method.body.CallMethod.Invoke.*;
+import static vm.runtime.defmeth.shared.data.method.body.CallMethod.IndexbyteOp.*;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+import static vm.runtime.defmeth.shared.ExecutionMode.*;
+
+/**
+ * Scenarios on private methods in interfaces.
+ */
+public class PrivateMethodsTest extends DefMethTest {
+
+    public static void main(String[] args) {
+        TestBase.runTest(new PrivateMethodsTest(), args);
+    }
+
+    // invokevirtual & invokeinterface from same/subintf
+    // Spec change July 2013 to not allow invokevirtual or invokeinterface
+    // to even see an interface private method
+    // Throw ICCE if method resolution returns interface private method
+
+    /*
+     * testPrivateInvokeVirtual
+     *
+     * interface I {
+     *   default private int privateM() { return 1; }
+     *   default public  int m()        { return (I)this.privateM(); } // invokevirtual
+     * }
+     * class C implements I {}
+     *
+     * TEST: I o = new C(); o.m()I throws VerifyError
+     * TEST: C o = new C(); o.m()I throws VerifyError
+     */
+    @NotApplicableFor(modes = { REDEFINITION }) // Can't redefine a class that gets error during loading
+    public void testPrivateInvokeVirtual() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("privateM", "()I")
+                    .private_().returns(1).build()
+
+                // force an invokevirtual of an IMR to test verification code
+                .defaultMethod("m", "()I")
+                    .invoke(VIRTUAL, b.intfByName("I"), null, "privateM", "()I", INTERFACEMETHODREF).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().callSite(I, C, "m", "()I").throws_(VerifyError.class).done()
+         .test().callSite(C, C, "m", "()I").throws_(VerifyError.class).done()
+
+        .run();
+    }
+
+    /*
+     * testPrivateInvokeIntf
+     *
+     * interface I {
+     *   default private int privateM() { return 1; }
+     *   default public  int m()        { return (I)this.privateM(); } // invokeinterface
+     * }
+     * class C implements I {}
+     *
+     * TEST: I o = new C(); o.m()I throws IncompatibleClassChangeError
+     * TEST: C o = new C(); o.m()I throws IncompatibleClassChangeError
+     */
+    public void testPrivateInvokeIntf() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("privateM", "()I")
+                    .private_().returns(1).build()
+                .defaultMethod("m", "()I")
+                    .invoke(INTERFACE, b.intfByName("I"), null, "privateM", "()I", CALLSITE).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+
+        .run();
+    }
+
+    /*
+     * testPrivateInvokeStatic
+     *
+     * interface I {
+     *   default private int privateM() { return 1; }
+     *   default public  int m()        { return I.privateM(); } // invokestatic
+     * }
+     * class C implements I {}
+     *
+     * TEST: I o = new C(); o.m()I throws LinkageError
+     * TEST: C o = new C(); o.m()I throws LinkageError
+     */
+    public void testPrivateInvokeStatic() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("privateM", "()I")
+                    .private_().returns(1).build()
+                .defaultMethod("m", "()I")
+                    .invoke(STATIC, b.intfByName("I"), null, "privateM", "()I", CALLSITE).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().callSite(I, C, "m", "()I").throws_(LinkageError.class).done()
+         .test().callSite(C, C, "m", "()I").throws_(LinkageError.class).done()
+
+        .run();
+    }
+
+    // call from another default method in the same interface
+    /*
+     * testPrivateCallSameClass
+     *
+     * interface I {
+     *   default private privateM()I { return 1; }
+     *   default public int m() { return I.super.privateM(); }
+     * }
+     * class C implements I {}
+     *
+     * TEST: { I o = new C(); o.m()I  == 1; }
+     * TEST: { C o = new C(); o.m()I  == 1; }
+     */
+    public void testPrivateCallSameClass() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("privateM", "()I")
+                    .private_().returns(1).build()
+                .defaultMethod("m", "()I")
+                    .invokeSpecial(b.intfByName("I"), "privateM", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().callSite(I, C, "m", "()I").returns(1).done()
+         .test().callSite(C, C, "m", "()I").returns(1).done()
+
+        .run();
+    }
+
+    /*
+     * testPrivateCallSubIntf
+     *
+     * Attempt to call from subinterface fails
+
+     * interface I {
+     *   default private privateM()I { return 1; }
+     * }
+     * J, K, L use invokespecial
+     * interface J extends I {
+     *   default public int m() { return I.super.privateM(); }
+     * }
+     * interface K extends I {
+     *   default public int m() { return K.super.privateM(); }
+     * }
+     * interface L extends J {
+     *   default public int m() { return I.super.privateM(); }
+     * }
+     * class C implements J {}
+     * class D implements K {}
+     * class E implements L {}
+     *
+     * TEST: { J o = new C(); o.m()I throws IAE; }
+     * TEST: { C o = new C(); o.m()I throws IAE; }
+     * TEST: { K o = new D(); o.m()I throws NSME; } // does not see
+     * TEST: { D o = new D(); o.m()I throws NSME; }
+     * TEST: { L o = new E(); o.m()I throws VerifyError; } // VerifyError intfmethodref
+     * TEST: { E o = new E(); o.m()I throws VerifyError; }
+     */
+    @NotApplicableFor(modes = { REDEFINITION }) // Can't redefine a class that gets error during loading
+    public void testPrivateCallSubIntf() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("privateM", "()I")
+                    .private_().returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .defaultMethod("m", "()I")
+                    .invokeSpecial(I, "privateM", "()I").build()
+            .build();
+
+        Interface K = b.intf("K").extend(J)
+                .defaultMethod("m", "()I")
+                    .invokeSpecial(b.intfByName("K"), "privateM", "()I").build()
+            .build();
+
+        // L.privateM -> J -> L (I.privateM call)
+        Interface L = b.intf("L").extend(J)
+                .defaultMethod("m", "()I")
+                    .invokeSpecial(I, "privateM", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        ConcreteClass D = b.clazz("D").implement(K).build();
+
+        ConcreteClass E = b.clazz("E").implement(L).build();
+
+        b.test().callSite(J, C, "m", "()I").throws_(IllegalAccessError.class).done()
+         .test().callSite(C, C, "m", "()I").throws_(IllegalAccessError.class).done()
+
+         .test().callSite(K, D, "m", "()I").throws_(NoSuchMethodError.class).done()
+         .test().callSite(D, D, "m", "()I").throws_(NoSuchMethodError.class).done()
+
+         .test().callSite(L, E, "m", "()I").throws_(VerifyError.class).done()
+         .test().callSite(E, E, "m", "()I").throws_(VerifyError.class).done()
+
+        .run();
+    }
+
+    /*
+     * Attempt to call from subclass fails
+     *
+     * interface I {
+     *   default private privateM()I { return 1; }
+     * }
+     * class C implements I {
+     *   public int m() { return I.super.privateM(); }
+     * }
+     * class D extends C {
+     *   public int m() { return I.super.privateM(); }
+     * }
+     * class E extends C {
+     *   public int m() { return C.super.privateM(); }
+     * }
+     *
+     * TEST: { C o = new C(); o.m()I throws LinkageError }
+     * TEST: { D o = new D(); o.m()I throws LinkageError }
+     * TEST: { E o = new E(); o.m()I throws NoSuchMethodError; }
+     */
+    @NotApplicableFor(modes = { REDEFINITION }) // Can't redefine a class that gets error during loading
+    public void testPrivateCallImplClass() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("privateM", "()I")
+                    .private_().returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I)
+                .concreteMethod("m", "()I")
+                    .invokeSpecial(I, "privateM", "()I").build()
+            .build();
+
+        ConcreteClass D = b.clazz("D").extend(C)
+                .concreteMethod("m", "()I")
+                    .invokeSpecial(I, "privateM", "()I").build()
+            .build();
+
+        ConcreteClass E = b.clazz("E").extend(C)
+                .concreteMethod("m", "()I")
+                    .invokeSpecial(C, "privateM", "()I").build()
+            .build();
+
+        Class eeExpectedClass;
+        if (factory.getVer() >= 52) {
+            eeExpectedClass = NoSuchMethodError.class;
+        } else {
+            // The test gets a VerifyError in this case due to an
+            // invokespecial IMR bytecode.  This was not allowed
+            // until class file version 52.  (See 8030249.)
+            eeExpectedClass = VerifyError.class;
+        }
+        b.test().callSite(C, C, "m", "()I").throws_(LinkageError.class).done()
+         .test().callSite(D, D, "m", "()I").throws_(LinkageError.class).done()
+         .test().callSite(E, E, "m", "()I").throws_(eeExpectedClass).done()
+
+        .run();
+    }
+
+    // doesn't participate in default method analysis
+    //   method overriding
+
+    /*
+     * testPrivateDefault
+     *
+     * interface I {
+     *   default private int m() { return 1; }
+     * }
+     * class C implements I {}
+     *
+     * TEST: { I o = new C(); o.m()I throws IllegalAccessError; }
+     *                 -mode reflect throws NoSuchMethodException
+     * TEST: { C o = new C(); o.m()I throws java/lang/NoSuchMethodError; }
+     */
+    public void testPrivateDefault() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .private_().returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        Class expectedClass;
+        if (factory.getExecutionMode().equals("REFLECTION")) {
+            expectedClass = NoSuchMethodException.class;
+        } else {
+            expectedClass = IllegalAccessError.class;
+        }
+
+        b.test().callSite(I, C, "m", "()I").throws_(expectedClass).done()
+         .test().callSite(C, C, "m", "()I").throws_(NoSuchMethodError.class).done()
+
+        .run();
+    }
+
+    /*
+     * testPrivateDefaultVsConcrete
+     *
+     * interface I {
+     *   default private int m() { return 1; }
+     * }
+     * class C implements I {
+     *   public int m() { return 2; }
+     * }
+     *
+     * TEST: { I o = new C(); o.m()I  == IllegalAccessError; }
+     *                 -mode reflect throws NoSuchMethodException
+     * TEST: { C o = new C(); o.m()I  == 2; }
+     */
+    public void testPrivateDefaultVsConcrete() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .private_().returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I)
+                .concreteMethod("m", "()I").returns(2).build()
+            .build();
+
+        Class expectedClass;
+        if (factory.getExecutionMode().equals("REFLECTION")) {
+            expectedClass = NoSuchMethodException.class;
+        } else {
+            expectedClass = IllegalAccessError.class;
+        }
+
+        b.test().callSite(I, C, "m", "()I").throws_(expectedClass).done()
+         .test().callSite(C, C, "m", "()I").returns(2).done()
+
+        .run();
+    }
+
+    /*
+     * testPublicOverridePrivate
+     *
+     * interface I {
+     *   default private int m() { return 1; }
+     * }
+     * interface J extends I {
+     *   default public int m() { return 2; }
+     * }
+     * class C implements J {}
+     *
+     * TEST: { I o = new C(); o.m()I throws IllegalAccessError; }
+     *                 -mode reflect throws NoSuchMethodException
+     * TEST: { J o = new C(); o.m()I  == 2; }
+     * TEST: { C o = new C(); o.m()I  == 2; }
+     */
+    public void testPublicOverridePrivate() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .private_().returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .defaultMethod("m", "()I")
+                    .returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        Class expectedClass;
+        if (factory.getExecutionMode().equals("REFLECTION")) {
+            expectedClass = NoSuchMethodException.class;
+        } else {
+            expectedClass = IllegalAccessError.class;
+        }
+
+        b.test().callSite(I, C, "m", "()I").throws_(expectedClass).done()
+         .test().callSite(J, C, "m", "()I").returns(2).done()
+         .test().callSite(C, C, "m", "()I").returns(2).done()
+
+        .run();
+    }
+
+    /*
+     * testPrivateOverrideDefault
+     *
+     * interface I {
+     *   default public int m() { return 1; }
+     * }
+     * interface J extends I {
+     *   default private int m() { return 2; }
+     * }
+     * class C implements J {}
+     *
+     * TEST: { I o = new C(); o.m()I  == 1; }
+     * TEST: { J o = new C(); o.m()I  == IllegalAccessError; } II J.m priv
+     * TEST: { C o = new C(); o.m()I  == 1; }
+     */
+    /*
+
+        REFLECTION:
+  Test2_J_C_m                   : FAILED
+    nsk.share.TestFailure: Caught exception as expected, but its type is wrong:
+      expected: java.lang.IllegalAccessError;
+      actual: java.lang.NoSuchMethodException.
+     */
+    public void testPrivateOverrideDefault() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .defaultMethod("m", "()I")
+                    .private_().returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        b.test().callSite(I, C, "m", "()I").returns(1).done()
+         .test().privateCallSite(J, C, "m", "()I").throws_(IllegalAccessError.class).done()
+         .test().callSite(C, C, "m", "()I").returns(1).done()
+
+        .run();
+    }
+
+    /*
+     * testPrivateReabstract
+     *
+     * interface I {
+     *   default private int m() { return 1; }
+     * }
+     * interface J extends I {
+     *   abstract public int m();
+     * }
+     * class C implements J {}
+     *
+     * TEST: { I o = new C(); o.m()I throws IllegalAccessError; } II I.m
+     *                 -mode reflect throws NoSuchMethodException
+     * TEST: { J o = new C(); o.m()I throws java/lang/AbstractMethodError; }
+     * TEST: { C o = new C(); o.m()I throws java/lang/AbstractMethodError; }
+     */
+    public void testPrivateReabstract() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .private_().returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        Class expectedClass;
+        if (factory.getExecutionMode().equals("REFLECTION")) {
+            expectedClass = NoSuchMethodException.class;
+        } else {
+            expectedClass = IllegalAccessError.class;
+        }
+
+        b.test().callSite(I, C, "m", "()I").throws_(expectedClass).done()
+         .test().callSite(J, C, "m", "()I").throws_(AbstractMethodError.class).done()
+         .test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done()
+
+        .run();
+    }
+
+    /*
+     * testPrivateOverrideAbstract
+     *
+     * interface I {
+     *   abstract public int m();
+     * }
+     * interface J extends I {
+     *   default private int m() { return 1; }
+     * }
+     * class C implements J {}
+     *
+     * TEST: { I o = new C(); o.m()I throws AbstractMethodError }
+     * TEST: { J o = new C(); o.m()I throws IncompatibleClassChangeError }
+     * TEST: { C o = new C(); o.m()I throws AbstractMethodError }
+     */
+    /*
+         REFLECTION:
+  Test1_I_C_m                   : FAILED
+    nsk.share.TestFailure: No exception was thrown: java.lang.AbstractMethodError
+  Test2_J_C_m                   : FAILED
+    nsk.share.TestFailure: No exception was thrown: java.lang.AbstractMethodError
+  Test3_C_C_m                   : FAILED
+    nsk.share.TestFailure: No exception was thrown: java.lang.AbstractMethodError
+     */
+    public void testPrivateOverrideAbstract() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .defaultMethod("m", "()I")
+                    .private_().returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        Class expectedClass;
+        if (factory.getExecutionMode().equals("REFLECTION")) {
+            expectedClass = IllegalAccessException.class;
+        } else {
+            expectedClass = IncompatibleClassChangeError.class;
+        }
+
+        b.test().callSite(I, C, "m", "()I").throws_(AbstractMethodError.class).done()
+         .test().privateCallSite(J, C, "m", "()I").throws_(expectedClass).done()
+         .test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done()
+         .run();
+    }
+
+    /*
+     * testPrivateInheritedDefault
+     *
+     * interface I {
+     *   default private int m() { return 1; }
+     * }
+     * class B implements I {}
+     * class C extends B {}
+     *
+     * TEST: { I o = new C(); o.m()I throws IllegalAccessError } II I.m
+     *                 -mode reflect throws NoSuchMethodException
+     * TEST: { B o = new C(); o.m()I throws NoSuchMethodError }
+     * TEST: { C o = new C(); o.m()I throws NoSuchMethodError }
+     */
+    public void testPrivateInheritedDefault() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .private_().returns(1).build()
+            .build();
+
+        ConcreteClass B = b.clazz("B").implement(I).build();
+        ConcreteClass C = b.clazz("C").extend(B).build();
+
+        Class expectedClass;
+        if (factory.getExecutionMode().equals("REFLECTION")) {
+            expectedClass = NoSuchMethodException.class;
+        } else {
+            expectedClass = IllegalAccessError.class;
+        }
+
+        b.test().callSite(I, C, "m","()I").throws_(expectedClass).done()
+         .test().callSite(B, C, "m","()I").throws_(NoSuchMethodError.class).done()
+         .test().callSite(C, C, "m","()I").throws_(NoSuchMethodError.class).done()
+
+        .run();
+
+    }
+
+    /*
+     * testPrivateDefaultVsConcreteInherited
+     *
+     * interface I {
+     *    default private int m() { return 1; }
+     * }
+     * class B {
+     *   public int m() { return 2; }
+     * }
+     * class C extends B implements I {}
+     *
+     * TEST: { I o = new C(); o.m()I  == throws IllegalAccessError; }
+     *                     -mode reflect throws NoSuchMethodException
+     * TEST: { B o = new C(); o.m()I  == 2; }
+     * TEST: { C o = new C(); o.m()I  == 2; }
+     */
+    public void testPrivateDefaultVsConcreteInherited() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .private_().returns(1).build()
+            .build();
+
+        ConcreteClass B = b.clazz("B")
+                .concreteMethod("m", "()I").returns(2).build()
+                .build();
+
+        ConcreteClass C = b.clazz("C").extend(B).implement(I).build();
+
+        Class expectedClass;
+        if (factory.getExecutionMode().equals("REFLECTION")) {
+            expectedClass = NoSuchMethodException.class;
+        } else {
+            expectedClass = IllegalAccessError.class;
+        }
+
+        b.test().callSite(I, C, "m","()I").throws_(expectedClass).done()
+         .test().callSite(B, C, "m","()I").returns(2).done()
+         .test().callSite(C, C, "m","()I").returns(2).done()
+
+        .run();
+    }
+
+    /*
+     * testPrivateConflict
+     *
+     * Conflicting default methods
+     *
+     * interface I {
+     *   default private int m() { return 1; }
+     * }
+     * interface J {
+     *   default public int m() { return 2; }
+     * }
+     * class C implements I, J {}
+     *
+     * TEST: { I o = new C(); o.m()I throws IllegalAccessError; }
+     *                 -mode reflect throws NoSuchMethodException
+     * TEST: { J o = new C(); o.m()I  == 2; }
+     * TEST: { C o = new C(); o.m()I  == 2; }
+     */
+    public void testPrivateConflict() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").private_().returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I,J).build();
+
+        Class expectedClass;
+        if (factory.getExecutionMode().equals("REFLECTION")) {
+            expectedClass = NoSuchMethodException.class;
+        } else {
+            expectedClass = IllegalAccessError.class;
+        }
+
+        b.test().callSite(I, C, "m", "()I").throws_(expectedClass).done()
+         .test().callSite(J, C, "m", "()I").returns(2).done()
+         .test().callSite(C, C, "m", "()I").returns(2).done()
+
+        .run();
+    }
+    /*
+     * testPrivateSuperClassMethodNoDefaultMethod
+     *
+     * interface I {
+     *  public int m();
+     * }
+     *
+     * public class A {
+     *  private int m() { return 1; }
+     * }
+     *
+     * public class B extends A implements I {}
+     *
+     * public class C extends B {
+     *  public int m() { return 2; }
+     * }
+     *
+     * TEST: { B b = new C(); b.m()I throws IllegalAccessError; }
+     */
+    public void testPrivateSuperClassMethodNoDefaultMethod() {
+        TestBuilder b = factory.getBuilder();
+
+        ConcreteClass A = b.clazz("A")
+                .concreteMethod("m", "()I").private_().returns(1).build()
+                .build();
+
+        Interface I = b.intf("I")
+                .abstractMethod("m", "()I").public_().build()
+                .build();
+
+        ConcreteClass B = b.clazz("B").extend(A).implement(I).build();
+
+        ConcreteClass C = b.clazz("C").extend(B)
+                .concreteMethod("m", "()I").public_().returns(2).build()
+                .build();
+
+        b.test().privateCallSite(B, C, "m", "()I").throws_(IllegalAccessError.class).done()
+        .run();
+
+    }
+
+    /*
+     * testPrivateSuperClassMethodDefaultMethod
+     *
+     * interface I {
+     *  public default int m() { return 3; }
+     * }
+     *
+     * public class A {
+     *  private int m() { return 1; }
+     * }
+     *
+     * public class B extends A implements I {}
+     *
+     * public class C extends B {
+     *  public int m() { return 2; }
+     * }
+     *
+     * TEST: { B b = new C(); b.m()I throws IllegalAccessError; }
+     */
+    public void testPrivateSuperClassMethodDefaultMethod() {
+        TestBuilder b = factory.getBuilder();
+
+        ConcreteClass A = b.clazz("A")
+                .concreteMethod("m", "()I").private_().returns(1).build()
+                .build();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").public_().returns(3).build()
+                .build();
+
+        ConcreteClass B = b.clazz("B").extend(A).implement(I).build();
+
+        ConcreteClass C = b.clazz("C").extend(B)
+                .concreteMethod("m", "()I").public_().returns(2).build()
+                .build();
+
+        b.test().privateCallSite(B, C, "m", "()I").throws_(IllegalAccessError.class).done()
+        .run();
+    }
+
+    /*
+     * testPrivateSuperClassMethodDefaultMethodNoOverride
+     *
+     * interface I {
+     *  public default int m() { return 3; }
+     * }
+     *
+     * public class A {
+     *  private int m() { return 1; }
+     * }
+     *
+     * public class B extends A implements I {}
+     *
+     * public class C extends B { }
+     *
+     * TEST: { B b = new C(); b.m()I throws IllegalAccessError; }
+     */
+    public void testPrivateSuperClassMethodDefaultMethodNoOverride() {
+        TestBuilder b = factory.getBuilder();
+
+        ConcreteClass A = b.clazz("A")
+                .concreteMethod("m", "()I").private_().returns(1).build()
+                .build();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").public_().returns(3).build()
+                .build();
+
+        ConcreteClass B = b.clazz("B").extend(A).implement(I).build();
+
+        ConcreteClass C = b.clazz("C").extend(B).build();
+
+        b.test().privateCallSite(B, C, "m", "()I").throws_(IllegalAccessError.class).done()
+        .run();
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/README	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,261 @@
+Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+This code is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License version 2 only, as
+published by the Free Software Foundation.
+
+This code is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+version 2 for more details (a copy is included in the LICENSE file that
+accompanied this code).
+
+You should have received a copy of the GNU General Public License version
+2 along with this work; if not, write to the Free Software Foundation,
+Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+or visit www.oracle.com if you need additional information or have any
+questions.
+
+
+ABOUT
+
+    Once published, it is impossible to add methods to an interface without
+    breaking existing implementations (specifically, adding a method to an
+    interface is not a source-compatible change). The longer the time since a
+    library has been published, the more likely it is that this restriction will
+    cause grief for its maintainers.
+
+    The addition of closures to the Java language in JDK 8 place additional stress
+    on the aging Collection interfaces; one of the most significant benefits of
+    closures is that it enables the development of more powerful libraries. It
+    would be disappointing to add a language feature that enables better libraries
+    while at the same time not extending the core libraries to take advantage of
+    that feature.
+
+    A mechanism for adding new methods to existing interfaces is proposed, which is
+    called virtual extension (or default) methods. Existing interfaces can be
+    augmented without compromising backward compatibility by adding extension
+    methods to the interface, whose declaration would contain instructions for
+    finding the default implementation in the event that implementers do not
+    provide a method body. A key characteristic of extension methods is that they
+    are virtual methods just like other interface methods, but provide a default
+    implementation in the event that the implementing class does not provide a
+    method body.
+
+    VM support is necessary to implement virtual extension methods.
+
+
+OVERVIEW
+
+    The test suite is organized in the following manner.
+
+    The tests rely on a framework to generate class hierarchies and tests
+    directly in bytecode from a pseudo-code in Java. Pseudo-code is written
+    using builder pattern and fluent coding style.
+
+    The framework is located in src/vm/runtime/defmeth/shared and divided into
+    /data and /builder sections.
+
+    As an example, the following code:
+
+            TestBuilder b = factory.getBuilder();
+
+            Interface I = b.intf("I")
+                    .defaultMethod("m", "()I").returns(1).build()
+                .build();
+
+            ConcreteClass C = b.clazz("C").implement(I)
+                    .concreteMethod("m", "()I").returns(2).build()
+                .build();
+
+            b.test().callSite(I, C, "m", "()I").returns(2).done()
+             .test().callSite(C, C, "m", "()I").returns(2).done()
+
+            .run();
+
+        translates into bytecode equivalent of:
+
+            2-class hierarchy:
+
+                interface I {
+                    int m() default { return 1; }
+                }
+
+                class C implements I {
+                    public int m() { return 2; }
+                }
+
+            and 2 tests:
+
+                Test1_I_C_m {
+                    static void test() {
+                        I i = new C();
+                        if (i.m() != 2) throw new TestFailure();
+                    }
+                }
+
+                Test2_C_C_m {
+                    static void test() {
+                        C c = new C();
+                        if (c.m() != 2) throw new TestFailure();
+                    }
+                }
+
+    TestBuilder.run() calls Test1_I_C_m.test() and Test2_C_C_m.test() and
+    performs failure reporting, if necessary.
+
+    All tests are located in src/vm/runtime/defmeth and are grouped according
+    to the area they excercise. The test groups are:
+        - AccessibilityFlagsTest
+        - BasicTest
+        - ConflictingDefaultsTest
+        - DefaultVsAbstractTest
+        - MethodResolutionTest
+        - ObjectMethodOverridesTest
+        - PrivateMethodsTest
+        - RedefineTest
+        - StaticMethodsTest
+        - StressTest
+        - SuperCallTest
+
+    Each test group can be executed in different modes. For each mode there's a
+    corresponding scenario in src/vm/runtime/defmeth/scenarios.
+
+    Scenarios are organized in the following manner:
+
+        .../scenarios/[test_group]_[majorVer]_[methodFlags]_[invocationType]_[shouldRedefine]
+
+    where
+
+        majorVer - major version of class files for generated concrete classes
+            values: ver49, ver50, ver51, ver52
+
+        methodFlags - additional access flags for methods in generated classes
+            values:
+                none == no additional flags
+                sync == ACC_SYNCHRONIZED
+                strict == ACC_STRICT
+                syncstrict == ACC_SYNCHRONIZED | ACC_STRICT
+
+        invocationType - how methods in test hiearchies are invoked during testing
+            values:
+                direct - using invoke* bytecodes
+                reflect - using Reflection API
+                invoke - using invokedynamic & java.lang.invoke API (MethodHandles/JSR292)
+
+        redefine - whether to preload and redefine classes before running individual tests
+            values: redefine, noredefine
+
+        testGroup - name of test group being used
+            values: BasicTests/BridgeMethod/etc
+
+
+STRESS TESTING
+
+    Stress test differs from other scenarios - it has only 2 modes: redefine and noredefine.
+
+    Stress scenario is the following:
+        - in multiple threads (5 by default)...
+        - ... continuously run random vm.runtime.defmeth.* tests ...
+        - ... in random configurations ...
+        - ... until predefined period of time is over...
+        - ... or any failures occured.
+
+
+HOW TO RUN
+
+    Directly from command-line:
+
+    $ java -cp ${VMTESTBASE}/bin/classes vm.runtime.defmeth.shared.DefMethTest
+
+    Specify testing mode:
+        -flags <int>
+              additional access flags on default methods (default: 0)
+
+        -ver <int>
+              class file major version (default: 52)
+
+        -redefine <boolean>
+              redefine classes during execution (default: false)
+
+        -mode [direct|reflect|invoke]
+              specify method invocation mechanism (default: direct):
+                  - direct - invoke* instructions in bytecode
+                  - reflect - Reflection API
+                  - invoke - invokedynamic & MethodHandle.invoke*
+
+        -execMode [DIRECT|REFLECTION|INVOKE_EXACT|INVOKE_GENERIC|INVOKE_WITH_ARGS|INDY]
+              specify concrete execution mode
+
+    Execution-specific flags:
+        -list <boolean>
+            list available tests
+
+        -filter <regex>
+            filter tests by name
+            (default: .* )
+
+    If you run tests directly from command line, in order to make "-redefine true",
+    StressTest or RedefineTest work, additional steps are necessary:
+        add -agentlib:redefineClasses to JVM options
+        set correct LD_LIBRARY_PATH:
+            LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${VM_TESTBASE}/bin/lib/${PLATFORM}/vm/runtime/defmeth/shared/
+
+    Also, it is possible to run any test group directly:
+
+    $ java -cp ${VMTESTBASE}/bin/classes vm.runtime.defmeth.BasicTest
+
+    StressTest has some specific options:
+        -stressTime <long>
+            Stress execution time in seconds (default: 60)
+
+        -stressThreadsFactor <int>
+              Stress threads factor (default: 1)
+
+        -seed <int>
+              force deterministic behavior (default: 0)
+
+        -redefine <boolean>
+              use scenarios w/ class redefinition (default: false)
+
+        -ver <int>
+              minimum class file version to be used in the tests (default: 49)
+
+        -ignoreTestFailures
+              ignore failures of individual tests
+
+    To simplify failure analysis, the framework has some additional flags to produce
+    diagnostics output:
+
+        -Dvm.runtime.defmeth.printTests
+            print pseudo-code for each test;
+
+        -Dvm.runtime.defmeth.printAssembly
+            print bytecode assembly for all generated class files;
+
+        -Dvm.runtime.defmeth.printASMify
+            print "asmified" version of generated class files;
+            very useful when preparing reduced test cases.
+
+        -Dvm.runtime.defmeth.dumpClasses
+            dump class files under DUMP_CLASS_FILES in <test_name> folder
+
+        -Dvm.runtime.defmeth.printStackTrace
+            print full stack traces for all errors and test failures
+
+        -Dvm.runtime.defmeth.traceClassRedefinition
+            trace class redefinition during testing
+
+LINKS
+
+    [1] "Design and Implementation of Default Methods in Hotspot JVM", by Keith McGuigan, 09/18/2012
+        http://cr.openjdk.java.net/~kamg/default_methods_in_hotspot.txt
+
+    [2] "Featherweight Defenders: A formal model for virtual extension methods in Java", by Brian Goetz, Robert Field, 03/27/2012
+        http://cr.openjdk.java.net/~briangoetz/lambda/featherweight-defenders.pdf
+
+    [3] "Interface evolution via virtual extension methods", by Brian Goetz, 4th draft, 06/2011
+        http://cr.openjdk.java.net/~briangoetz/lambda/Defender%20Methods%20v4.pdf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/RedefineTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,235 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import nsk.share.Pair;
+import nsk.share.TestFailure;
+import nsk.share.test.TestBase;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.DefMethTestFailure;
+import vm.runtime.defmeth.shared.MemoryClassLoader;
+import vm.runtime.defmeth.shared.annotation.NotApplicableFor;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+import vm.runtime.defmeth.shared.executor.TestExecutor;
+import vm.runtime.defmeth.shared.data.Clazz;
+import vm.runtime.defmeth.shared.data.ConcreteClass;
+import vm.runtime.defmeth.shared.data.Interface;
+import vm.runtime.defmeth.shared.data.Tester;
+import static vm.runtime.defmeth.shared.ExecutionMode.*;
+
+/*
+ * Basic scenarios on class redefinition.
+ */
+public class RedefineTest extends DefMethTest {
+
+    public static void main(String[] args) {
+        TestBase.runTest(new RedefineTest(), args);
+    }
+
+    @Override
+    protected void configure() {
+        // There are no testers being generated for reflection-based scenarios,
+        // so scenarios on class redefinition don't work
+        String mode = factory.getExecutionMode();
+        if ( "REFLECTION".equals(mode) || "INVOKE_WITH_ARGS".equals(mode)) {
+            throw new TestFailure("RedefineTest isn't applicable to reflection-based execution scenario " +
+                    "(REDEFINE & INVOKE_WITH_ARGS).");
+        }
+    }
+
+    /**
+     * Run test {@code b1} w/ redefined {@code classes} from {@code b2}.
+     *
+     * @param b1
+     * @param b2
+     * @param classes
+     */
+    private void redefineAndRun(TestBuilder b1, TestBuilder b2, Clazz... classes) {
+        TestExecutor executor = b1.prepare();
+
+        getLog().info("Before");
+        List<Pair<Tester,Throwable>> errorsBefore =
+                executor.run(); // run b1
+
+        // redefine in b1
+        MemoryClassLoader cl = executor.getLoader(); // b1.cl
+        Map<String,byte[]> cf = b2.produce(); //
+        Map<String,byte[]> forRedef = new HashMap<>();
+        for (Clazz clz : classes) {
+            String name = clz.name();
+            forRedef.put(name, cf.get(name));
+        }
+
+        cl.modifyClasses(forRedef, factory.isRetransformClasses());
+
+        getLog().info("After");
+        List<Pair<Tester,Throwable>> errorsAfter =
+                executor.run();
+
+        if (!errorsBefore.isEmpty()) {
+            throw new DefMethTestFailure(errorsBefore);
+        }
+
+        if (!errorsAfter.isEmpty()) {
+            throw new DefMethTestFailure(errorsAfter);
+        }
+    }
+
+    /*
+     * Before redefinition:
+     *   interface I { public int m() { return 1; } }
+     *   class C extends I { public int m() { return 2; } }
+     *
+     * TEST: I i = new C(); i.m() == 2
+     * TEST: C c = new C(); c.m() == 2
+     *
+     * After redefinition:
+     *   interface I { public int m() { return 1; } }
+     *   class C extends I { public int m() { return 3; } }
+     *
+     * TEST: I i = new C(); i.m() == 3
+     * TEST: C c = new C(); c.m() == 3
+     */
+    @NotApplicableFor(modes = { REFLECTION, INVOKE_WITH_ARGS }) // reflection-based scenarios rely on checks in bytecode
+    public void testRedefineConcreteMethod() {
+        TestBuilder before = factory.getBuilder();
+        { // Before redefinition
+            Interface I = before.intf("I")
+                    .defaultMethod("m", "()I").returns(1).build()
+                .build();
+            ConcreteClass C = before.clazz("C").implement(I)
+                    .concreteMethod("m", "()I").returns(2).build()
+                .build();
+
+            before.test().callSite(I, C, "m", "()I").returns(2).done()
+                  .test().callSite(C, C, "m", "()I").returns(2).done();
+        }
+
+        { // After redefinition
+            TestBuilder after = factory.getBuilder();
+
+            Interface I = after.intf("I")
+                    .defaultMethod("m", "()I").returns(1).build()
+                .build();
+            ConcreteClass C = after.clazz("C").implement(I)
+                    .concreteMethod("m", "()I").returns(3).build()
+                .build();
+
+            Tester T1 = after.test().callSite(I, C, "m", "()I").returns(3).build();
+            Tester T2 = after.test().callSite(C, C, "m", "()I").returns(3).build();
+
+            redefineAndRun(before, after, C, T1, T2);
+        }
+    }
+
+    /*
+     * Before redefinition:
+     *   interface I { public int m() { return 1; } }
+     *   class C extends I { public int m() { return 2; } }
+     *
+     * TEST: I i = new C(); i.m() == 2
+     * TEST: C c = new C(); c.m() == 2
+     *
+     * After redefinition:
+     *   interface I { public int m() { return 3; } }
+     *   class C extends I { public int m() { return 2; } }
+     *
+     * TEST: I i = new C(); i.m() == 2
+     * TEST: C c = new C(); c.m() == 2
+     */
+    @NotApplicableFor(modes = { REFLECTION, INVOKE_WITH_ARGS }) // reflection-based scenarios rely on checks in bytecode
+    public void testRedefineDefaultMethod() {
+        TestBuilder before = factory.getBuilder();
+        { // Before redefinition
+            Interface I = before.intf("I")
+                    .defaultMethod("m", "()I").returns(1).build()
+                .build();
+            ConcreteClass C = before.clazz("C").implement(I)
+                    .concreteMethod("m", "()I").returns(2).build()
+                .build();
+
+            before.test().callSite(I, C, "m", "()I").returns(2).done()
+                  .test().callSite(C, C, "m", "()I").returns(2).done();
+        }
+
+        { // After redefinition
+            TestBuilder after = factory.getBuilder();
+
+            Interface I = after.intf("I")
+                    .defaultMethod("m", "()I").returns(3).build()
+                .build();
+            ConcreteClass C = after.clazz("C").implement(I)
+                    .concreteMethod("m", "()I").returns(2).build()
+                .build();
+
+            redefineAndRun(before, after, C);
+        }
+    }
+
+    /*
+     * Before redefinition:
+     *   interface I { public int m() { return 1; } }
+     *   class C extends I {}
+     *
+     * TEST: I i = new C(); i.m() == 1
+     * TEST: C c = new C(); c.m() == 1
+     *
+     * After redefinition:
+     *   interface I { public int m() { return 2; } }
+     *   class C extends I {}
+     *
+     * TEST: I i = new C(); i.m() == 2
+     * TEST: C c = new C(); c.m() == 2
+     */
+    @NotApplicableFor(modes = { REFLECTION, INVOKE_WITH_ARGS }) // reflection-based scenarios rely on checks in bytecode
+    public void testRedefineDefMethInConcreteClass() {
+        TestBuilder before = factory.getBuilder();
+        { // Before redefinition
+            Interface I = before.intf("I")
+                    .defaultMethod("m", "()I").returns(1).build()
+                .build();
+            ConcreteClass C = before.clazz("C").implement(I).build();
+
+            before.test().callSite(I, C, "m", "()I").returns(1).done()
+                  .test().callSite(C, C, "m", "()I").returns(1).done();
+        }
+
+        { // After redefinition
+            TestBuilder after = factory.getBuilder();
+
+            Interface I = after.intf("I")
+                    .defaultMethod("m", "()I").returns(2).build()
+                .build();
+            ConcreteClass C = after.clazz("C").implement(I).build();
+
+            Tester T1 = after.test().callSite(I, C, "m", "()I").returns(2).build();
+            Tester T2 = after.test().callSite(C, C, "m", "()I").returns(2).build();
+
+            redefineAndRun(before, after, I, T1, T2);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/StaticMethodsTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,838 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth;
+
+import nsk.share.test.TestBase;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.annotation.Crash;
+import vm.runtime.defmeth.shared.data.*;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+import vm.runtime.defmeth.shared.annotation.NotApplicableFor;
+import static vm.runtime.defmeth.shared.data.method.body.CallMethod.Invoke.*;
+import static vm.runtime.defmeth.shared.data.method.body.CallMethod.IndexbyteOp.*;
+import static vm.runtime.defmeth.shared.ExecutionMode.*;
+
+/*
+ * Scenarios on static methods in interfaces.
+ */
+public class StaticMethodsTest extends DefMethTest {
+
+    public static void main(String[] args) {
+        TestBase.runTest(new StaticMethodsTest(), args);
+    }
+
+    // static method in interface
+    /*
+     * testStaticMethod
+     *
+     * interface I {
+     *  default static public int m() { return 1; }
+     * }
+     *
+     * class C implements I {}
+     */
+    public void testStaticMethod() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .static_().public_().returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().staticCallSite(I, "m", "()I").returns(1).done()
+
+        .run();
+    }
+
+    // invoke[virtual|interface|special] from same/subintf
+    /*
+     * testInvokeVirtual
+     *
+     * interface I {
+     *  default static public int staticM() { return 1; }
+     *  default public int m() { return ((I)this).staticM(); }
+     * }
+     *
+     * class C implements I {}
+     */
+    public void testInvokeVirtual() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("staticM", "()I")
+                    .static_().public_().returns(1).build()
+
+                // force an invokevirtual MR of staticM()
+                .defaultMethod("m", "()I")
+                    .invoke(VIRTUAL, b.intfByName("I"), null, "staticM", "()I", METHODREF).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().staticCallSite(I, "staticM", "()I").returns(1).done()
+
+         .test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+
+        .run();
+    }
+
+    /*
+     * testInvokeIntf
+     *
+     * interface I {
+     *  default static public int staticM() { return 1; }
+     *  default public int m() { return ((I)this).staticM(); }
+     * }
+     *
+     * class C implements I {}
+     */
+    public void testInvokeIntf() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("staticM", "()I")
+                    .static_().public_().returns(1).build()
+
+                .defaultMethod("m", "()I")
+                    .invoke(INTERFACE, b.intfByName("I"), null, "staticM", "()I", CALLSITE).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().staticCallSite(I, "staticM", "()I").returns(1).done()
+
+         .test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+
+        .run();
+    }
+
+    /*
+     * testInvokeSpecial
+     *
+     * interface I {
+     *  default static public int staticM() { return 1; }
+     *  default public int m() { return I.super.staticM(); }
+     * }
+     *
+     * class C implements I {}
+     */
+    public void testInvokeSpecial() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("staticM", "()I")
+                    .static_().public_().returns(1).build()
+
+                .defaultMethod("m", "()I")
+                    .invoke(SPECIAL, b.intfByName("I"), null, "staticM", "()I", CALLSITE).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().staticCallSite(I, "staticM", "()I").returns(1).done()
+
+         .test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+
+        .run();
+    }
+
+    /*
+     * testStaticVsDefault
+     *
+     * interface I {
+     *  default static public int m() { return 1; }
+     *  default public int m() { return 2; }
+     * }
+     *
+     * class C implements I {}
+     */
+    public void testStaticVsDefault() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .static_().public_().returns(1).build()
+                .defaultMethod("m", "()I")
+                    .public_().returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().staticCallSite(I, "m", "()I").throws_(ClassFormatError.class).done()
+
+         // FIXME: throws exception during an attempt to lookup Test2.test() method
+
+         // Invalid test. ClassFormatError is thrown at verification time, rather
+         // than execution time.
+         // .test().callSite(I, C, "m", "()I").throws_(ClassFormatError.class).done()
+         .test().callSite(C, C, "m", "()I").throws_(ClassFormatError.class).done()
+
+        .run();
+    }
+
+    // call static method from default method
+    /*
+     * testInvokeFromDefaultMethod
+     *
+     * interface I {
+     *  default static public int staticPublicM() { return 1; }
+     *  default public int invokePublic() { return I.staticPublicM(); }
+     *  default static private int staticPrivateM() { return 1; }
+     *  default public int invokePrivate() { return I.staticPrivateM(); }
+     * }
+     *
+     * class C implements I {}
+     */
+    public void testInvokeFromDefaultMethod() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("staticPublicM", "()I")
+                    .static_().public_().returns(1).build()
+                .defaultMethod("invokePublic", "()I")
+                    .invokeStatic(b.intfByName("I"), "staticPublicM", "()I").build()
+
+                .defaultMethod("staticPrivateM", "()I")
+                    .static_().private_().returns(1).build()
+                .defaultMethod("invokePrivate", "()I")
+                    .invokeStatic(b.intfByName("I"), "staticPrivateM", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        Class expectedClass;
+        if (factory.getExecutionMode().equals("REFLECTION")) {
+            expectedClass = NoSuchMethodException.class;
+        } else {
+            expectedClass = IllegalAccessError.class;
+        }
+
+        // call static method from another class
+        b.test().staticCallSite(I, "staticPublicM", "()I").returns(1).done()
+         .test().staticCallSite(I, "staticPrivateM", "()I").throws_(expectedClass).done()
+
+         // call public static method from default method
+         .test().callSite(I, C, "invokePublic", "()I").returns(1).done()
+         .test().callSite(C, C, "invokePublic", "()I").returns(1).done()
+
+         // call private static method from default method
+         .test().callSite(I, C, "invokePrivate", "()I").returns(1).done()
+         .test().callSite(C, C, "invokePrivate", "()I").returns(1).done()
+
+        .run();
+    }
+
+    // call static method from implementing subclass
+    /*
+     * testInvokeFromSubclass
+     *
+     * interface I {
+     *  default static public int staticPublicM() { return 1; }
+     *  default static private int staticPrivateM() { return 1; }
+     * }
+     *
+     * class C implements I {
+     *  public int invokePublic() { return I.staticPublicM(); }
+     *  public int invokePrivate() { return I.staticPublicM(); }
+     *
+     * I.staticPublicM();  ==> returns 1;
+     * I.staticPrivateM(); ==> Either NSME or IAE depending on execution mode
+     * C c = new C(); c.invokePublic(); ==> returns 1 or if -ver < 52 IAE or VerifyError
+     * C c = new C(); c.invokePrivate() ==> IAE or if -ver < 52, IAE or VerifyError
+     * }
+     */
+
+    @NotApplicableFor(modes = { REDEFINITION }) // Can't redefine a class that gets error during loading
+    public void testInvokeFromSubclass() throws Exception {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("staticPublicM", "()I")
+                    .static_().public_().returns(1).build()
+
+                .defaultMethod("staticPrivateM", "()I")
+                    .static_().private_().returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I)
+                .concreteMethod("invokePublic", "()I")
+                    .invokeStatic(b.intfByName("I"), "staticPublicM", "()I").build()
+                .concreteMethod("invokePrivate", "()I")
+                    .invokeStatic(b.intfByName("I"), "staticPrivateM", "()I").build()
+            .build();
+
+        Class expectedError1;
+        if (factory.getExecutionMode().equals("REFLECTION")) {
+            expectedError1 = NoSuchMethodException.class;
+        } else {
+            expectedError1 = IllegalAccessError.class;
+        }
+
+        // Adjust for -ver < 52
+        if (factory.getVer() >=52) {
+            // call static method from another class
+            b.test().staticCallSite(I, "staticPublicM", "()I").returns(1).done()
+             .test().staticCallSite(I, "staticPrivateM", "()I").throws_(expectedError1).done()
+
+            // call static method from implementing subclass
+             .test().callSite(C, C, "invokePublic", "()I").returns(1).done()
+             .test().callSite(C, C, "invokePrivate", "()I").throws_(IllegalAccessError.class).done()
+
+            .run();
+        } else {
+            // call static method from another class
+            b.test().staticCallSite(I, "staticPublicM", "()I").returns(1).done()
+             .test().staticCallSite(I, "staticPrivateM", "()I").throws_(expectedError1).done()
+
+            // call static method from implementing subclass
+            // invokestatic IMR - not supported for ver < 52
+             .test().callSite(C, C, "invokePublic",  "()I").throws_(VerifyError.class).done()
+             .test().callSite(C, C, "invokePrivate", "()I").throws_(VerifyError.class).done()
+
+            .run();
+        }
+    }
+
+    // static method doesn't participate in default method analysis:
+    //   method overriding
+    /*
+     * testNotInherited
+     *
+     * interface I {
+     *  default static public int m() { return 1; }
+     * }
+     *
+     * class C implements I {}
+     */
+    public void testNotInherited() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .static_().public_().returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        if (!factory.getExecutionMode().equals("REFLECTION")) {
+            b.test().staticCallSite(I, "m", "()I").returns(1).done()
+              // invokeinterface to static method ==> ICCE
+              .test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+             .test().callSite(C, C, "m", "()I").throws_(NoSuchMethodError.class).done()
+            .run();
+        } else {
+            b.test().staticCallSite(I, "m", "()I").returns(1).done()
+             .test().callSite(I, C, "m", "()I").returns(1).done()
+             .test().callSite(C, C, "m", "()I").throws_(NoSuchMethodError.class).done()
+            .run();
+        }
+    }
+
+    /*
+     * testDefaultVsConcrete
+     *
+     * interface I {
+     *  default static public int m() { return 1; }
+     * }
+     *
+     * class C implements I {
+     *  public int m() { return 2; }
+     * }
+     * TEST: I o = new C(); o.m()I throws ICCE
+     * TEST: C o = new C(); o.m()I == 2
+     */
+    public void testDefaultVsConcrete() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .static_().public_().returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I)
+                .concreteMethod("m", "()I").returns(2).build()
+            .build();
+
+        if (!factory.getExecutionMode().equals("REFLECTION")) {
+            // invokeinterface to static method ==> ICCE
+            b.test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+             .test().callSite(C, C, "m", "()I").returns(2).done().run();
+        } else {
+            b.test().callSite(I, C, "m", "()I").returns(1).done()
+             .test().callSite(C, C, "m", "()I").returns(2).done().run();
+        }
+
+    }
+
+    /*
+     * TEST: StaticMethodsTest.testOverrideStatic
+     *
+     * interface I {
+     *  default static public int m() { return 1; }
+     * }
+     *
+     * interface J extends I {
+     *  default public int m() { return 2; }
+     * }
+     *
+     * class C implements J {
+     * }
+     */
+    public void testOverrideStatic() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .static_().public_().returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .defaultMethod("m", "()I")
+                    .returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        if (!factory.getExecutionMode().equals("REFLECTION")) {
+            b.test().staticCallSite(I, "m", "()I").returns(1).done()
+             .test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+             .test().callSite(J, C, "m", "()I").returns(2).done()
+             .test().callSite(C, C, "m", "()I").returns(2).done()
+            .run();
+        } else {
+            b.test().staticCallSite(I, "m", "()I").returns(1).done()
+             .test().callSite(I, C, "m", "()I").returns(1).done()
+             .test().callSite(J, C, "m", "()I").returns(2).done()
+             .test().callSite(C, C, "m", "()I").returns(2).done()
+            .run();
+        }
+
+    }
+
+    /*
+     * testOverrideDefault
+     *
+     * interface I {
+     *  default public int m() { return 1; }
+     * }
+     *
+     * interface J extends I {
+     *  default static public int m() { return 2; }
+     * }
+     *
+     * class C implements J {}
+     *
+     * TEST: I o = new C(); o.m()I == 1
+     * TEST: J o = new C(); o.m()I == ICCE
+     * TEST: C o = new C(); o.m()I == 1
+     */
+    public void testOverrideDefault() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .defaultMethod("m", "()I")
+                    .static_().public_().returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        if (!factory.getExecutionMode().equals("REFLECTION")) {
+            b.test().callSite(I, C, "m", "()I").returns(1).done()
+             .test().callSite(J, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+             .test().callSite(C, C, "m", "()I").returns(1).done()
+
+            .run();
+
+        } else {
+            // Reflection correctly finds the static method defined in J and
+            // calls it with invokestatic.
+
+            b.test().callSite(I, C, "m", "()I").returns(1).done()
+             .test().callSite(J, C, "m", "()I").returns(2).done()
+             .test().callSite(C, C, "m", "()I").returns(1).done()
+
+            .run();
+        }
+    }
+
+    /*
+     * testReabstract
+     *
+     * interface I {
+     *  default static public int m() { return 1; }
+     * }
+     *
+     * interface J extends I {
+     *  abstract public int m();
+     * }
+     *
+     * class C implements J {}
+     *
+     * TEST: I o = new C(); o.m()I throws ICCE
+     *                             -mode reflect returns 1
+     * TEST: J o = new C(); o.m()I throws AME
+     * TEST: C o = new C(); o.m()I throws AME
+     */
+    public void testReabstract() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .static_().public_().returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        if (!factory.getExecutionMode().equals("REFLECTION")) {
+            b.test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+             .test().callSite(J, C, "m", "()I").throws_(AbstractMethodError.class).done()
+             .test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done()
+            .run();
+        } else {
+            b.test().callSite(I, C, "m", "()I").returns(1).done()
+             .test().callSite(J, C, "m", "()I").throws_(AbstractMethodError.class).done()
+             .test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done()
+            .run();
+        }
+    }
+
+    /*
+     * testOverrideAbstract
+     *
+     * interface I {
+     *  abstract public int m();
+     * }
+     *
+     * interface J extends I {
+     *  default static public int m() { return 1; }
+     * }
+     *
+     * class C implements J {}
+     *
+     * TEST: I o = new C(); o.m()I throws AME
+     * TEST: J o = new C(); o.m()I throws ICCE
+     *                             -mode reflect returns 1
+     * TEST: C o = new C(); o.m()I throws AME
+     */
+    public void testOverrideAbstract() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .defaultMethod("m", "()I")
+                    .static_().public_().returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        if (!factory.getExecutionMode().equals("REFLECTION")) {
+            b.test().callSite(I, C, "m", "()I").throws_(AbstractMethodError.class).done()
+             .test().callSite(J, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+             .test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done()
+
+            .run();
+        } else {
+            b.test().callSite(I, C, "m", "()I").throws_(AbstractMethodError.class).done()
+             .test().callSite(J, C, "m", "()I").returns(1).done()
+             .test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done()
+
+            .run();
+        }
+    }
+
+    /*
+     * testInheritedDefault
+     *
+     * interface I {
+     *  default static public int m() { return 1; }
+     * }
+     *
+     * class B implements I {}
+     *
+     * class C extends B {}
+     *
+     * TEST: I o = new C(); o.m()I throws IncompatibleClassChangeError
+     *                             -mode reflect returns 1
+     * TEST: B o = new C(); o.m()I throws NoSuchMethodError
+     * TEST: C o = new C(); o.m()I throws NoSuchMethodError
+     */
+    public void testInheritedDefault() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .static_().public_().returns(1).build()
+            .build();
+
+        ConcreteClass B = b.clazz("B").implement(I).build();
+        ConcreteClass C = b.clazz("C").extend(B).build();
+
+        if (!factory.getExecutionMode().equals("REFLECTION")) {
+            b.test().callSite(I, C, "m","()I").throws_(IncompatibleClassChangeError.class).done()
+             .test().callSite(B, C, "m","()I").throws_(NoSuchMethodError.class).done()
+             .test().callSite(C, C, "m","()I").throws_(NoSuchMethodError.class).done()
+            .run();
+        } else {
+            b.test().callSite(I, C, "m","()I").returns(1).done()
+             .test().callSite(B, C, "m","()I").throws_(NoSuchMethodError.class).done()
+             .test().callSite(C, C, "m","()I").throws_(NoSuchMethodError.class).done()
+            .run();
+        }
+
+    }
+
+    /*
+     * testDefaultVsConcreteInherited
+     *
+     * interface I {
+     *  default static public int m() { return 1; }
+     * }
+     *
+     * class B {
+     *  public int m() { return 2; }
+     * }
+     *
+     * class C extends B implements I {}
+     *
+     */
+    public void testDefaultVsConcreteInherited() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .static_().public_().returns(1).build()
+            .build();
+
+        ConcreteClass B = b.clazz("B")
+                .concreteMethod("m", "()I").returns(2).build()
+                .build();
+
+        ConcreteClass C = b.clazz("C").extend(B).implement(I).build();
+
+        if (!factory.getExecutionMode().equals("REFLECTION")) {
+            b.test().staticCallSite(I, "m","()I").returns(1).done()
+             .test().callSite(I, C, "m","()I").throws_(IncompatibleClassChangeError.class).done()
+             .test().callSite(B, C, "m","()I").returns(2).done()
+             .test().callSite(C, C, "m","()I").returns(2).done()
+            .run();
+        } else {
+            b.test().staticCallSite(I, "m","()I").returns(1).done()
+             .test().callSite(I, C, "m","()I").returns(1).done()
+             .test().callSite(B, C, "m","()I").returns(2).done()
+             .test().callSite(C, C, "m","()I").returns(2).done()
+            .run();
+        }
+
+    }
+
+    /*
+     * testDefaultVsStaticConflict
+     *
+     * interface I {
+     *  default static public int m() { return 1; }
+     * }
+     *
+     * interface J {
+     *  default public int m() { return 2; }
+     * }
+     *
+     * class C implements I, J {}
+     *
+     * TEST: I o = new C(); o.m()I throws ICCE
+     *                             -mode reflect returns 1
+     * TEST: J o = new C(); o.m()I == 2
+     * TEST: C o = new C(); o.m()I == 2
+     */
+    public void testDefaultVsStaticConflict() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .static_().public_().returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I,J).build();
+
+        if (!factory.getExecutionMode().equals("REFLECTION")) {
+            b.test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+             .test().callSite(J, C, "m", "()I").returns(2).done()
+             .test().callSite(C, C, "m", "()I").returns(2).done()
+            .run();
+        } else {
+            b.test().callSite(I, C, "m", "()I").returns(1).done()
+             .test().callSite(J, C, "m", "()I").returns(2).done()
+             .test().callSite(C, C, "m", "()I").returns(2).done()
+            .run();
+        }
+
+    }
+    /*
+     * testStaticSuperClassVsDefaultSuperInterface
+     *
+     * interface I {
+     *  default public int m() { return 1; }
+     * }
+     *
+     * class A {
+     *  public static int m() { return 2; }
+     * }
+     *
+     * class C extends A implements I {}
+     *
+     * TEST: C o = new C(); o.m()I throws ICCE
+     *                             -mode reflect returns 2
+     * TEST: I o = new C(); o.m()I == 1
+     */
+    public void testStaticSuperClassVsDefaultSuperInterface() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .public_().returns(1).build()
+            .build();
+
+        ConcreteClass A = b.clazz("A")
+                .concreteMethod("m", "()I")
+                    .static_().public_().returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").extend(A).implement(I).build();
+
+        if (!factory.getExecutionMode().equals("REFLECTION")) {
+            b.test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+             .test().callSite(I, C, "m", "()I").returns(1).done()
+            .run();
+        } else {
+            b.test().callSite(C, C, "m", "()I").returns(2).done()
+             .test().callSite(I, C, "m", "()I").returns(1).done()
+            .run();
+        }
+    }
+    /*
+     * testStaticLocalVsDefaultSuperInterface
+     *
+     * interface I {
+     *  default public int m() { return 1; }
+     * }
+     *
+     * class A implements I {
+     *  public static int m() { return 2; }
+     * }
+     *
+     * class C extends A implements I {}
+     *
+     * TEST: A o = new A(); o.m()I throws ICCE
+     *                             -mode reflect returns 2
+     * TEST: I o = new A(); o.m()I == 1
+     */
+    public void testStaticLocalVsDefaultSuperInterface() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .public_().returns(1).build()
+            .build();
+
+        ConcreteClass A = b.clazz("A").implement(I)
+                .concreteMethod("m", "()I")
+                    .static_().public_().returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").extend(A).implement(I).build();
+
+        if (!factory.getExecutionMode().equals("REFLECTION")) {
+            b.test().callSite(A, A, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+             .test().callSite(I, A, "m", "()I").returns(1).done()
+            .run();
+        } else {
+            b.test().callSite(A, A, "m", "()I").returns(2).done()
+             .test().callSite(I, A, "m", "()I").returns(1).done()
+            .run();
+        }
+    }
+    /*
+     * testConflictingDefaultsandStaticMethod
+     * @bug 8033150
+     *
+     * interface I {
+     *  default public int m() { return 1; }
+     * }
+     *
+     * interface J {
+     *  default public int m() { return 2; }
+     * }
+     *
+     * class A implements I, J {
+     *  public static int m() { return 3; }
+     * }
+     *
+     * class C extends A {}
+     *
+     * TEST: C.m(); should call A.m, return value = 3
+     */
+    public void testConflictingDefaultsandStaticMethod() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I")
+                    .public_().returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I")
+                    .public_().returns(2).build()
+            .build();
+
+        ConcreteClass A = b.clazz("A").implement(I,J)
+                .concreteMethod("m", "()I")
+                    .static_().public_().returns(3).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").extend(A).build();
+
+        b.test().staticCallSite(C, "m", "()I").returns(3).done()
+         .run();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/StressTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,315 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Random;
+import nsk.share.TestFailure;
+import nsk.share.test.StressOptions;
+import nsk.share.test.Stresser;
+import vm.runtime.defmeth.shared.Constants;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.ExecutionMode;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+import vm.share.options.Option;
+import vm.share.options.OptionSupport;
+import vm.share.options.Options;
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+
+/*
+ * Stress test for default methods implementation.
+ *
+ * Stress scenario is the following:
+ *   - in multiple threads ...
+ *   - ... continuously run random tests ...
+ *   - ... in random configuration ...
+ *   - ... until predefined period of time is over...
+ *   - ... or any failures occured.
+ */
+public class StressTest implements Runnable {
+    @Options
+    private StressOptions opts = new StressOptions();
+
+    @Option(name="seed", default_value="0", description="force deterministic behavior")
+    private int seed;
+
+    @Option(name="redefine", default_value="false", description="use scenarios w/ class redefinition")
+    private boolean doRedefine;
+
+    @Option(name="ver", default_value="49", description="minimum class file version to be used in the tests")
+    private int minMajorVer;
+
+    @Option(name="ignoreTestFailures", default_value="false", description="ignore failures of the executed tests")
+    private boolean ignoreTestFailures;
+
+    class Worker extends Thread {
+        private final Random rand;
+
+        private volatile DefMethTest failedTest;
+        private Throwable reason;
+        private volatile long executedTests = 0;
+
+        public Worker(String id, int seed) {
+            setName(id);
+            this.rand = new Random(seed);
+        }
+
+        @Override
+        public void run() {
+            while (!Thread.interrupted()) {
+                int idx = rand.nextInt(testlist.size());
+                DefMethTest test = testlist.get(idx);
+                try {
+                    test.run();
+                    executedTests++;
+                    if (test.isFailed()) {
+                        throw new TestFailure(test.toString());
+                    }
+                } catch (Throwable e) {
+                    if (!ignoreTestFailures) {
+                        failedTest = test;
+                        reason = e;
+                        break;
+                    }
+                }
+            }
+        }
+
+        public boolean isFailed() { return failedTest != null; }
+        public Throwable getReason() { return reason; }
+        public DefMethTest getFailedTest() { return failedTest; }
+        public long getExecutedTests() { return executedTests; }
+    }
+
+    private List<DefMethTest> testlist;
+
+    private Worker[] workers;
+
+    Stresser stresser;
+
+    public static void main(String[] args) {
+        StressTest test = new StressTest();
+        OptionSupport.setupAndRun(test, args);
+    }
+
+    @Override
+    public void run() {
+        configureTests();
+        startWorkers();
+
+        stresser = new Stresser(opts);
+        try {
+            stresser.start(0);
+            while (workersAlive() && stresser.continueExecution()) {
+                printStats();
+
+                try {
+                    Thread.sleep(1000);
+                } catch (InterruptedException ex) {}
+            }
+        } finally {
+            interruptWorkers();
+            joinWorkers();
+
+            stresser.finish();
+        }
+    }
+
+    private void configureTests() {
+        int[] majorVerValues = new int[52 - minMajorVer + 1];
+        for (int i = 0; i< majorVerValues.length; i++) {
+            majorVerValues[i] = minMajorVer + i;
+        }
+
+        int[] flagsValues = new int[] {
+            0,
+            ACC_STRICT,
+            ACC_SYNCHRONIZED,
+            ACC_STRICT | ACC_SYNCHRONIZED
+        };
+
+        boolean[] doRedefineValues;
+        if (doRedefine) {
+            doRedefineValues = new boolean[] { true, false};
+        } else {
+            doRedefineValues = new boolean[] { false };
+        }
+
+        // Upper limit for test count
+        int testCount = DefMethTest.getTests().size() * majorVerValues.length
+                        * flagsValues.length * doRedefineValues.length;
+
+        testlist = new ArrayList<>(testCount);
+
+        // Enumerate all tests in all possible modes
+        for (Class<? extends DefMethTest> testClass : DefMethTest.getTests()) {
+            for (ExecutionMode mode : ExecutionMode.values()) {
+                // Skip REDEFINITION execmode, the top README file indicates that it isn't a
+                // valid execution mode and there's also no code supporting this in the test generator.
+                if ("REDEFINITION".equals(mode.toString())) {
+                    continue;
+                }
+
+                for (int majorVer : majorVerValues) {
+                    for (int flags : flagsValues ) {
+                        for (boolean redefine : doRedefineValues) {
+                            // RedefineTest isn't applicable to reflection-based execution scenario (REDEFINE & INVOKE_WITH_ARGS)
+                            if (testClass == RedefineTest.class && mode.isReflectionBased()) {
+                                continue;
+                            }
+
+                            // Only run the RedefineTest tests when redefining
+                            if (!redefine && testClass == RedefineTest.class) {
+                                continue;
+                            }
+
+                            try {
+                                DefMethTest test = testClass.newInstance();
+
+                                OptionSupport.setup(test, new String[] {
+                                        "-execMode", mode.toString(),
+                                        "-ver", Integer.toString(majorVer),
+                                        "-flags", Integer.toString(flags),
+                                        "-redefine", Boolean.toString(redefine),
+                                        "-ignoreCrashes",
+                                        "-ignoreKnownFailures",
+                                        "-silent",
+                                        "-failfast"});
+
+                                testlist.add(test);
+                            } catch (InstantiationException | IllegalAccessException ex) {
+                                throw new TestFailure(ex);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        System.out.printf("Testlist size: %d\n", testlist.size());
+    }
+
+    private void startWorkers() {
+        Random rand;
+        if (seed == 0) {
+            seed = (new Random()).nextInt();
+        }
+
+        System.out.printf("Seed: %d\n", seed);
+        rand = new Random(seed);
+
+        //Workaround for the deadlock caused by
+        // JDK-7122142: "(ann) Race condition between isAnnotationPresent and getAnnotations"
+        try {
+            // Do a warm-up cycle
+            for (Class<? extends DefMethTest> testClass : DefMethTest.getTests()) {
+                DefMethTest test = testClass.newInstance();
+
+                OptionSupport.setupAndRun(test,
+                        new String[] { "-silent", "-ignoreKnownFailures"});
+            }
+        } catch(InstantiationException | IllegalAccessException e) {
+            throw new RuntimeException(e);
+        }
+
+        int threadsCount = opts.getThreadsFactor();
+        if (threadsCount == 1) {
+            threadsCount = 5;
+        }
+
+        workers = new Worker[threadsCount];
+
+        System.out.printf("Spawning %d workers...\n", workers.length);
+
+        for (int i = 0; i < workers.length; i++) {
+            workers[i] = new Worker(
+                    String.format("Worker #%d/%d", i+1, workers.length),
+                    rand.nextInt());
+        }
+
+        for (Worker worker : workers) {
+            worker.start();
+        }
+    }
+
+    private void interruptWorkers() {
+        for (Worker worker : workers) {
+            worker.interrupt();
+        }
+    }
+
+    private void joinWorkers() {
+        boolean isFailed = false;
+
+        for (Worker worker : workers) {
+            while (worker.isAlive()) {
+                try {
+                    worker.join();
+                } catch (InterruptedException e) {}
+            }
+
+            System.out.printf("%s: %s (executed: %d)\n",
+                    worker.getName(),
+                    worker.isFailed() ? "FAILED: " + worker.getFailedTest() : "PASSED",
+                    worker.getExecutedTests());
+
+            if (worker.isFailed()) {
+                if (Constants.PRINT_STACK_TRACE) {
+                    worker.getReason().printStackTrace();
+                }
+
+                isFailed = true;
+            }
+        }
+
+        if (isFailed) {
+            throw new TestFailure("Some of the worker threads failed.");
+        }
+    }
+
+    private boolean workersAlive() {
+        for (Worker worker : workers) {
+            if (!worker.isAlive()) {
+                return false;
+            }
+        }
+
+        return true;
+    }
+
+    private void printStats() {
+        long[] counts = new long[workers.length];
+        for (int i = 0; i < counts.length; i++) {
+            counts[i] = workers[i].executedTests;
+        }
+
+        StringBuilder msg = new StringBuilder();
+        msg.append(stresser.getTimeLeft() / 1000).append("s left: ");
+        msg.append(Arrays.toString(counts));
+
+        System.out.println(msg);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/SuperCallTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,771 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth;
+
+import nsk.share.test.TestBase;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.annotation.KnownFailure;
+import vm.runtime.defmeth.shared.annotation.NotApplicableFor;
+import vm.runtime.defmeth.shared.data.*;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+import static vm.runtime.defmeth.shared.ExecutionMode.*;
+
+/*
+ * Tests on invoke-super-default.
+ *
+ * Invoke-super-default is used by a subclass to defer to a default method
+ * implementation or to disambiguate between conflicting inherited default
+ * methods.
+ *
+ * Invoke-super-default appears in the source code as
+ * "<interface-name>.super.<method-name>(<args>)". It is compiled into an
+ * invokespecial instruction whose target is <interface-name>.<method-name>,
+ * where the interface is a direct supertype of the current class (the current class
+ * must directly implement <interface-name>).
+ *
+ * 0.6.3 JVMS draft for JDK8 updated.
+ * Invokespecial on any superinterface method will run interface method
+ * resolution, and then the selected method will be set to the resolved method.
+ * super defaults no longer check for lack of shadowing, other languages
+ * want this capability.
+ */
+public class SuperCallTest extends DefMethTest {
+
+    @Override
+    protected void configure() {
+        // Since invoke-super-default relies on new semantics of invokespecial,
+        // the tests are applicable only to class files of 52 version.
+        if (factory.getVer() != 52) {
+            getLog().warn("WARN: SuperCallTest is applicable only for class files w/ version 52.");
+            getLog().warn("WARN: Overriding \"-ver " + factory.getVer() + "\" w/ \"-ver 52\".");
+
+            factory.setVer(52);
+        }
+    }
+
+    public static void main(String[] args) {
+        TestBase.runTest(new SuperCallTest(), args);
+    }
+
+    /*
+     * Basic case
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J extends I { int m() default { return I.super.m(); } }
+     * class C implements J {}
+     *
+     * TEST: C c = new C(); c.m() == 88;
+     * TEST: I i = new C(); i.m() == 88;
+     */
+    public void testSuperBasic1() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .defaultMethod("m", "()I").callSuper(I, "m", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        b.test().callSite(I, C, "m", "()I").returns(1).done()
+         .test().callSite(J, C, "m", "()I").returns(1).done()
+         .test().callSite(C, C, "m", "()I").returns(1).done()
+
+        .run();
+    }
+
+    /*
+     * Super Conflict Resolution
+     *
+     * interface K { int m() default { return 1; } }
+     * interface L { int m() default { return 2; } }
+     * interface I extends K,L { int m() default { K.super.m(); } }
+     * class C implements I {}
+     * class D implements K,L {}
+     *
+     * TEST: K k = new C(); k.m() == 1
+     * TEST: L l = new C(); l.m() == 1
+     * TEST: I i = new C(); i.m() == 1
+     * TEST: C c = new C(); c.m() == 1
+     *
+     * TEST: K k = new D(); k.m() == 1
+     * TEST: L l = new D(); l.m() == 1
+     * TEST: D d = new D(); d.m() == 1
+     */
+    public void testSuperConflictResolution() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface K = b.intf("K")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface L = b.intf("L")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        Interface I = b.intf("I").extend(K, L)
+                .defaultMethod("m", "()I").callSuper(K, "m", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        ConcreteClass D = b.clazz("D").implement(K,L)
+                .concreteMethod("m", "()I").callSuper(K, "m", "()I").build()
+            .build();
+
+
+        b.test().callSite(K, C, "m", "()I").returns(1).done()
+         .test().callSite(L, C, "m", "()I").returns(1).done()
+         .test().callSite(I, C, "m", "()I").returns(1).done()
+         .test().callSite(C, C, "m", "()I").returns(1).done()
+
+         .test().callSite(K, D, "m", "()I").returns(1).done()
+         .test().callSite(L, D, "m", "()I").returns(1).done()
+         .test().callSite(D, D, "m", "()I").returns(1).done()
+
+        .run();
+    }
+
+    /*
+     * Super call of conflicting default method from different method name
+     *
+     * interface K {
+     *     default public int m(int) { return 1; }
+     * }
+     * interface L {
+     *     default public int m(int) { return 2; }
+     * }
+     * interface I extends K, L {
+     *     default public int k() { return K.super.m((int)0); }
+     *     default public int l() { return L.super.m((int)0); }
+     * }
+     * class C implements I {}
+     * class D implements K, L {
+     *     public int k()  { return K.super.m((int)0); }
+     *     public int l()  { return L.super.m((int)0); }
+     * }
+     *
+     * TEST: K o = new C(); o.m(I)I throws ICCE
+     * TEST: L o = new C(); o.m(I)I throws ICCE
+     * TEST: C o = new C(); o.m(I)I throws ICCE
+     * TEST: I o = new C(); o.k()I == 1
+     * TEST: C o = new C(); o.k()I == 1
+     * TEST: I o = new C(); o.l()I == 2
+     * TEST: C o = new C(); o.l()I == 2
+     * TEST: K o = new D(); o.m(I)I throws ICCE
+     * TEST: L o = new D(); o.m(I)I throws ICCE
+     * TEST: D o = new D(); o.m(I)I throws ICCE
+     * TEST: D o = new D(); o.k()I == 1
+     * TEST: D o = new D(); o.l()I == 2
+     */
+    public void testSuperConflictDiffMethod() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface K = b.intf("K")
+                .defaultMethod("m", "(I)I").returns(1).build()
+            .build();
+
+        Interface L = b.intf("L")
+                .defaultMethod("m", "(I)I").returns(2).build()
+            .build();
+
+        Interface I = b.intf("I").extend(K, L)
+                .defaultMethod("k", "()I").callSuper(K, "m", "(I)I").build()
+                .defaultMethod("l", "()I").callSuper(L, "m", "(I)I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        ConcreteClass D = b.clazz("D").implement(K,L)
+                .concreteMethod("k", "()I").callSuper(K, "m", "(I)I").build()
+                .concreteMethod("l", "()I").callSuper(L, "m", "(I)I").build()
+            .build();
+
+        b.test().callSite(K, C, "m", "(I)I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(L, C, "m", "(I)I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(C, C, "m", "(I)I").throws_(IncompatibleClassChangeError.class).done()
+
+         .test().callSite(I, C, "k", "()I").returns(1).done()
+         .test().callSite(C, C, "k", "()I").returns(1).done()
+         .test().callSite(I, C, "l", "()I").returns(2).done()
+         .test().callSite(C, C, "l", "()I").returns(2).done()
+
+         .test().callSite(K, D, "m", "(I)I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(L, D, "m", "(I)I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(D, D, "m", "(I)I").throws_(IncompatibleClassChangeError.class).done()
+
+         .test().callSite(D, D, "k", "()I").returns(1).done()
+         .test().callSite(D, D, "l", "()I").returns(2).done()
+
+        .run();
+    }
+
+    /*
+     * SuperConflict
+     *
+     * interface K { int m() default { return 1; } }
+     * interface L { int m() default { return 2; } }
+     * interface J extends K, L {}
+     * interface I extends J, K { int m() default { J.super.m(); } }
+     * class C implements I {}
+     *
+     * TEST: K k = new C(); k.m() ==> ICCE
+     * TEST: L l = new C(); l.m() ==> ICCE
+     * TEST: J j = new C(); j.m() ==> ICCE
+     * TEST: I i = new C(); i.m() ==> ICCE
+     * TEST: C c = new C(); c.m() ==> ICCE
+     */
+    public void testSuperConflict() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface K = b.intf("K")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface L = b.intf("L")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        Interface J = b.intf("J").extend(K, L).build();
+
+        Interface I = b.intf("I").extend(K, J)
+                .defaultMethod("m", "()I").callSuper(J, "m", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I).build();
+
+        b.test().callSite(K, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(L, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(J, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+
+        .run();
+    }
+
+    /*
+     * SuperDisqual
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J { int m() default { return 2; } }
+     * class C implements I, J { public int m() { return I.super.m(); } }
+     *
+     * TEST: C c = new C(); c.m() ==> 1
+     * TEST: J j = new C(); j.m() ==> 1
+     */
+    public void testSuperDisqual() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I, J)
+                .concreteMethod("m", "()I").callSuper(I, "m", "()I").build()
+            .build();
+
+        b.test().callSite(I, C, "m", "()I").returns(1).done()
+         .test().callSite(J, C, "m", "()I").returns(1).done()
+         .test().callSite(C, C, "m", "()I").returns(1).done()
+
+        .run();
+    }
+
+    /*
+     * SuperNull
+     *
+     * interface I { int m(); }
+     * interface J extends I { int m() default { return I.super.m(); } }
+     * interface K extends I { int m() default { return I.super.n(); } }
+     * class C implements J {}
+     * class D implements K {}
+     *
+     * TEST: I i = new C(); i.m() ==> AME
+     * TEST: J j = new C(); j.m() ==> AME
+     * TEST: C c = new C(); c.m() ==> AME
+     * TEST: K k = new D(); k.m() ==> NSME
+     */
+    public void testSuperNull() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .defaultMethod("m", "()I").callSuper(I, "m", "()I").build()
+            .build();
+
+        Interface K = b.intf("K").extend(I)
+                .defaultMethod("m", "()I").callSuper(I, "n", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+        ConcreteClass D = b.clazz("D").implement(K).build();
+
+        b.test().callSite(I, C, "m", "()I").throws_(AbstractMethodError.class).done()
+         .test().callSite(J, C, "m", "()I").throws_(AbstractMethodError.class).done()
+         .test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done()
+         .test().callSite(K, D, "m", "()I").throws_(NoSuchMethodError.class).done()
+
+        .run();
+    }
+
+    /*
+     * SuperGeneric
+     *
+     * interface J<T> { int m(T t) default { return 1; } }
+     * interface I extends J<String> { int m(String s) default { return J.super.m(); } }
+     * class C implements I {}
+     *
+     * TEST: I i = new C(); i.m(new Object()) == 1;
+     * TESTL J j = new C(); j.m(new Object()) == 1;
+     * TEST: J j = new C(); j.m("") == 1;
+     * TEST: C c = new C(); c.m(new Object()) == 1;
+     * TEST: C c = new C(); c.m("") == 1;
+     */
+    @KnownFailure(modes = { INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY }) // Test2_J_C_m: AME => IAE => ICCE instead of successful call
+    public void testSuperGeneric() {
+        TestBuilder b = factory.getBuilder();
+
+        // interface I<T> {
+        //     default int m(T t) { return 1; }
+        // }
+        Interface I = b.intf("I")
+                .sig("<T:Ljava/lang/Object;>Ljava/lang/Object;")
+                .defaultMethod("m", "(Ljava/lang/Object;)I").sig("(TT;)I").returns(1).build()
+            .build();
+
+        // interface J extends I<String> {
+        //     default int m(String s) { return I.super.m(); }
+        // }
+        Interface J = b.intf("J").extend(I)
+                .sig("Ljava/lang/Object;LI<Ljava/lang/String;>;")
+                .defaultMethod("m", "(Ljava/lang/String;)I").callSuper(I, "m", "(Ljava/lang/Object;)I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).build();
+
+        b.test().callSite(I, C, "m", "(Ljava/lang/Object;)I").returns(1).done()
+
+         .test().callSite(J, C, "m", "(Ljava/lang/Object;)I").returns(1).done()
+         .test().callSite(J, C, "m", "(Ljava/lang/String;)I").returns(1).done()
+
+         .test().callSite(C, C, "m", "(Ljava/lang/Object;)I").returns(1).done()
+         .test().callSite(C, C, "m", "(Ljava/lang/String;)I").returns(1).done()
+
+        .run();
+    }
+
+    /*
+     * SuperGenericDisqual
+     *
+     * interface I<T> { int m(T t) default { return 1; } }
+     * interface J extends I<String> { int m(String s) default { return 2; } }
+     * class C implements I<String>, J { public int m(String s) { return I.super.m(s); } }
+     *
+     * TEST: C c = new C(); c.m("string") == 1
+     */
+    @KnownFailure(modes = { INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY }) // Test2_J_C_m: AME => IAE => ICCE instead of successful call
+    public void testSuperGenericDisqual() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I").sig("<T:Ljava/lang/Object;>Ljava/lang/Object;")
+                .defaultMethod("m", "(Ljava/lang/Object;)I").sig("(TT;)I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+                .sig("Ljava/lang/Object;LJ<Ljava/lang/String;>;")
+                .defaultMethod("m", "(Ljava/lang/String;)I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I,J)
+                .sig("Ljava/lang/Object;LI;LJ<Ljava/lang/String;>;")
+                .concreteMethod("m", "(Ljava/lang/String;)I").callSuper(I, "m", "(Ljava/lang/Object;)I").build()
+                .build();
+
+        b.test().callSite(I, C, "m", "(Ljava/lang/Object;)I").returns(1).done()
+
+         .test().callSite(J, C, "m", "(Ljava/lang/Object;)I").returns(1).done()
+         .test().callSite(J, C, "m", "(Ljava/lang/String;)I").returns(1).done()
+
+         .test().callSite(C, C, "m", "(Ljava/lang/Object;)I").returns(1).done()
+         .test().callSite(C, C, "m", "(Ljava/lang/String;)I").returns(1).done()
+
+        .run();
+    }
+
+    /*
+     * Super-call of non-default method
+     *
+     * class C { int m() { return 1; } }
+     * class D extends C { int m() { return C.super.m(); } }
+     *
+     * TEST: C d = new D(); d.m() == 1
+     * TEST: D d = new D(); d.m() == 1
+     */
+    public void testSuperNonDefault() {
+        TestBuilder b = factory.getBuilder();
+
+        ConcreteClass C = b.clazz("C")
+                .concreteMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass D = b.clazz("D").extend(C)
+                .concreteMethod("m", "()I").callSuper(C, "m", "()I").build()
+            .build();
+
+        b.test().callSite(C, D, "m", "()I").returns(1).done()
+         .test().callSite(D, D, "m", "()I").returns(1).done()
+
+        .run();
+    }
+
+    /*
+     * Super-call of non-default method
+     *
+     * interface I { int m(); }
+     * class C { int m() { return 1; } }
+     * class D extends C implements I { int m() { return I.super.m(); } }
+     * class E extends C implements I { int m() { return C.super.m(); } }
+     *
+     * TEST: I d = new D(); d.m() ==> AME
+     * TEST: C d = new D(); d.m() ==> AME
+     * TEST: D d = new D(); d.m() ==> AME
+     * TEST: I e = new E(); e.m() == 1
+     * TEST: C e = new E(); e.m() == 1
+     * TEST: E e = new E(); e.m() == 1
+     */
+    public void testSuperNonDefault1() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .abstractMethod("m", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C")
+                .concreteMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass D = b.clazz("D").extend(C).implement(I)
+                .concreteMethod("m", "()I").callSuper(I, "m", "()I").build()
+            .build();
+
+        ConcreteClass E = b.clazz("E").extend(C).implement(I)
+                .concreteMethod("m", "()I").callSuper(C, "m", "()I").build()
+            .build();
+
+        b.test().callSite(I, D, "m", "()I").throws_(AbstractMethodError.class).done()
+         .test().callSite(C, D, "m", "()I").throws_(AbstractMethodError.class).done()
+         .test().callSite(D, D, "m", "()I").throws_(AbstractMethodError.class).done()
+
+         .test().callSite(I, E, "m", "()I").returns(1).done()
+         .test().callSite(C, E, "m", "()I").returns(1).done()
+         .test().callSite(E, E, "m", "()I").returns(1).done()
+
+        .run();
+    }
+
+    /*
+     * Super-call of non-default method
+     *
+     * interface I { int m() {return 1;} }
+     * class C { int m() { return 2; } }
+     * class D extends C implements I { int m() { return I.super.m(); } }
+     * class E extends C implements I { int m() { return C.super.m(); } }
+     *
+     * TEST: I d = new D(); d.m() == 1
+     * TEST: C d = new D(); d.m() == 1
+     * TEST: D d = new D(); d.m() == 1
+     *
+     * TEST: I e = new E(); e.m() == 2
+     * TEST: C e = new E(); e.m() == 2
+     * TEST: E e = new E(); e.m() == 2
+     */
+    public void testSuperNonDefault2() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C")
+                .concreteMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass D = b.clazz("D").extend(C).implement(I)
+                .concreteMethod("m", "()I").callSuper(I, "m", "()I").build()
+            .build();
+
+        ConcreteClass E = b.clazz("E").extend(C).implement(I)
+                .concreteMethod("m", "()I").callSuper(C, "m", "()I").build()
+            .build();
+
+        b.test().callSite(I, D, "m", "()I").returns(1).done()
+         .test().callSite(C, D, "m", "()I").returns(1).done()
+         .test().callSite(D, D, "m", "()I").returns(1).done()
+
+         .test().callSite(I, E, "m", "()I").returns(2).done()
+         .test().callSite(C, E, "m", "()I").returns(2).done()
+         .test().callSite(E, E, "m", "()I").returns(2).done()
+
+        .run();
+    }
+
+    /*
+     * Disambig
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J { int m() default { return 2; } }
+     * class C implements I, J { int q() { return I.super.m(); }
+     *                           int r() { return J.super.m(); } }
+     *
+     * TEST: C c = new C(); c.m() == ICCE;
+     * TEST: C c = new C(); c.q() == 1;
+     * TEST: C c = new C(); c.r() == 2;
+     */
+    public void testDisambig() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(I,J)
+                .concreteMethod("q", "()I").callSuper(I, "m", "()I").build()
+                .concreteMethod("r", "()I").callSuper(J, "m", "()I").build()
+            .build();
+
+        b.test().callSite(C, C, "q", "()I").returns(1).done()
+         .test().callSite(C, C, "r", "()I").returns(2).done()
+         .test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+
+        .run();
+    }
+
+    /*
+     * Disambig2
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J { int m() default { return 2; } }
+     * interface K extends I
+     * interface L extends J
+     * class C implements K, L { int q() { return K.super.m(); }
+     *                           int r() { return L.super.m(); } }
+     *
+     * TEST: C c = new C(); c.m() == ICCE;
+     * TEST: C c = new C(); c.q() == 1;
+     * TEST: C c = new C(); c.r() == 2;
+     */
+    public void testDisambig2() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        Interface K = b.intf("K").extend(I).build();
+
+        Interface L = b.intf("L").extend(J).build();
+
+        ConcreteClass C = b.clazz("C").implement(K,L)
+                .concreteMethod("q", "()I").callSuper(K, "m", "()I").build()
+                .concreteMethod("r", "()I").callSuper(L, "m", "()I").build()
+            .build();
+
+        b.test().callSite(C, C, "q", "()I").returns(1).done()
+         .test().callSite(C, C, "r", "()I").returns(2).done()
+         .test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+
+        .run();
+    }
+
+    /*
+     * testResolvedShadowed
+     *
+     * interface I { int m() default { return 1; } }
+     * interface K extends I { int m() default { return 2; } }
+     * interface J extends I { }
+     * class C implements J,K { int q { J.super.m(); } }
+     *
+     * TEST: C c = new C(); c.m() == 2
+     * TEST: C c = new C(); c.q() == 1
+     */
+    public void testResolvedShadowed() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface K = b.intf("K").extend(I)
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J,K)
+                .concreteMethod("q", "()I").callSuper(J, "m", "()I").build()
+            .build();
+
+        b.test().callSite(C, C, "m", "()I").returns(2).done()
+         .test().callSite(C, C, "q", "()I").returns(1).done()
+
+        .run();
+    }
+
+    /*
+     * testResolvedButSuperClass
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J { }
+     * class A { public int m() { return 2; } }
+     * class C implements J extends A { int q { J.super.m(); } }
+     *
+     * TEST: C c = new C(); c.q() == 1
+     * TEST: C c = new C(); c.m() == 2
+     */
+    public void testResolvedButSuperClass() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I)
+            .build();
+
+        ConcreteClass A = b.clazz("A")
+             .concreteMethod("m", "()I").returns(2).build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J).extend(A)
+                .concreteMethod("q", "()I").callSuper(J, "m", "()I").build()
+            .build();
+
+        b.test().callSite(C, C, "q", "()I").returns(1).done()
+         .test().callSite(C, C, "m", "()I").returns(2).done()
+
+        .run();
+    }
+
+    /*
+     * testResolved1Caller2NotShadowed
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J extends I { }
+     * interface L { int m() default { return 2; } }
+     * interface K extends I, L { }
+     * class C implements J,K { int q { J.super.m(); } }
+     *
+     * TEST: C c = new C(); c.m() == ICCE
+     * TEST: C c = new C(); c.q() == 1
+     */
+    public void testResolved1Caller2NotShadowed() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I).build();
+
+        Interface L = b.intf("L")
+                .defaultMethod("m", "()I").returns(2).build()
+            .build();
+
+        Interface K = b.intf("K").extend(I,L)
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(J,K)
+                .concreteMethod("q", "()I").callSuper(J, "m", "()I").build()
+            .build();
+
+        b.test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
+         .test().callSite(C, C, "q", "()I").returns(1).done()
+
+        .run();
+    }
+
+    /*
+     * Test validity of invokespecial on indirect superinterface's method,
+     * this test should receive a verification error.
+     *
+     * (JVMS draft 0.7.0) JVMS 4.9.2 Structural Constraints
+     * Each invokespecial instruction must name an instance initialization
+     * method (2.9), or must reference a method in the current class or interface,
+     * a method in a superclass of the current class or interface, or a method
+     * in a direct superinterface of the current class or interface
+     *
+     * Note: Normally javac would reject this test case complaining that,
+     * InDirectSuper.java:5: error: not an enclosing class: I
+     * interface K extends J { default public void m() { I.super.m(); } }
+     *                                             ^
+     * However, the below test case allows us to check for this structural
+     * constraint on invokespecial in the JVM.
+     *
+     * interface I { int m() default { return 1; } }
+     * interface J extends I { }
+     * interface K extends J { int m() default { return I.super.m(); } }
+     * class C implements K {}
+     *
+     * TEST: K k = new C(); k.m() == VerifyError
+     */
+    @NotApplicableFor(modes = { REDEFINITION }) // Can't redefine a class that gets VerifyError
+    public void testSuperInvalidIndirectInterfaceMethodInvokeSpecial() {
+        TestBuilder b = factory.getBuilder();
+
+        Interface I = b.intf("I")
+                .defaultMethod("m", "()I").returns(1).build()
+            .build();
+
+        Interface J = b.intf("J").extend(I).build();
+
+        Interface K = b.intf("K").extend(J)
+                .defaultMethod("m", "()I").callSuper(I, "m", "()I").build()
+            .build();
+
+        ConcreteClass C = b.clazz("C").implement(K).build();
+
+        b.test().callSite(K, C, "m", "()I").throws_(VerifyError.class).done()
+
+        .run();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/AccessibilityFlags_v52_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.AccessibilityFlagsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v49_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v49_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v52_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v52_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.BasicTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v49_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v52_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ConflictingDefaultsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v49_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v52_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.DefaultVsAbstractTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v49_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v49_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v52_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v52_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.MethodResolutionTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ObjectMethodOverrides_v52_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ObjectMethodOverrides_v52_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ObjectMethodOverridesTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ObjectMethodOverrides_v52_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ObjectMethodOverrides_v52_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ObjectMethodOverridesTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ObjectMethodOverrides_v52_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ObjectMethodOverrides_v52_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ObjectMethodOverridesTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ObjectMethodOverrides_v52_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ObjectMethodOverrides_v52_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ObjectMethodOverridesTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ObjectMethodOverrides_v52_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ObjectMethodOverrides_v52_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.ObjectMethodOverridesTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ObjectMethodOverrides_v52_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ObjectMethodOverrides_v52_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.ObjectMethodOverridesTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v49_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v49_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v52_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v52_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.PrivateMethodsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v49_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v49_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v52_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v52_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.RedefineTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v49_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v49_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 49
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 50
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 51
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v52_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v52_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.StaticMethodsTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Stress_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Stress_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions vm.runtime.defmeth.StressTest
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Stress_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Stress_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.StressTest
+ *      -redefine
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_none_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_none_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_none_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_none_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_none_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_none_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_none_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_none_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_none_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_none_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 0
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_none_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_none_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 0
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_strict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_strict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_strict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_strict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_strict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_strict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_strict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_strict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_strict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_strict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 2048
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_strict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_strict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 2048
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_sync_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_sync_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_sync_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_sync_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_sync_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_sync_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_sync_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_sync_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_sync_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_sync_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 32
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_sync_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_sync_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 32
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_syncstrict_direct_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_syncstrict_direct_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_syncstrict_direct_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_syncstrict_direct_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode direct
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_syncstrict_invoke_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_syncstrict_invoke_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_syncstrict_invoke_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_syncstrict_invoke_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode invoke
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_syncstrict_reflect_noredefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_syncstrict_reflect_noredefine.
+ * VM Testbase keywords: [defmeth, jdk8, quick]
+ *
+ * @library /vmTestbase /test/lib
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm
+ *      -XX:+IgnoreUnrecognizedVMOptions
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 2080
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/SuperCall_v52_syncstrict_reflect_redefine/TestDescription.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
+ *
+ * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/SuperCall_v52_syncstrict_reflect_redefine.
+ * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
+ *
+ * @library /vmTestbase /test/lib
+ *
+ * @comment build retransform.jar in current dir
+ * @run driver vm.runtime.defmeth.shared.BuildJar
+ *
+ * @run driver jdk.test.lib.FileInstaller . .
+ * @run main/othervm/native
+ *      -agentlib:redefineClasses
+ *      -javaagent:retransform.jar
+ *      vm.runtime.defmeth.SuperCallTest
+ *      -ver 52
+ *      -flags 2080
+ *      -redefine
+ *      -retransform
+ *      -mode reflect
+ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/BuildJar.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared;
+
+import jdk.test.lib.JDKToolLauncher;
+import jdk.test.lib.Utils;
+import jdk.test.lib.process.ProcessTools;
+import jdk.test.lib.util.JarUtils;
+
+import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Arrays;
+
+/**
+ * Build {@code retransform.jar} in current directory using
+ * {@code vm/runtime/defmeth/shared/retransform.mf} and classes from
+ * {@code vm.runtime.defmeth.shared} package.
+ */
+public class BuildJar {
+    public static void main(String[] args) {
+        Path manifest = testRoot().resolve("vmTestbase")
+                                  .resolve("vm")
+                                  .resolve("runtime")
+                                  .resolve("defmeth")
+                                  .resolve("shared")
+                                  .resolve("retransform.mf")
+                                  .toAbsolutePath();
+        if (Files.notExists(manifest)) {
+            throw new Error("can't find manifest file: " + manifest);
+        }
+
+        Path file = foundInClassPath(Util.Transformer.class).toAbsolutePath();
+        // Util$Transformer.class is in vm/runtime/defmeth/shared
+        Path dir = file.getParent()
+                       .getParent()
+                       .getParent()
+                       .getParent()
+                       .getParent()
+                       .toAbsolutePath();
+
+        JDKToolLauncher jar = JDKToolLauncher.create("jar")
+                                             .addToolArg("cmf")
+                                             .addToolArg(manifest.toString())
+                                             .addToolArg("retransform.jar")
+                                             .addToolArg("-C")
+                                             .addToolArg(dir.toString())
+                                             .addToolArg(dir.relativize(file).toString());
+        String[] command = jar.getCommand();
+        try {
+            ProcessTools.executeCommand(command)
+                        .shouldHaveExitValue(0);
+        } catch (Error | RuntimeException e) {
+            throw e;
+        } catch (Throwable e) {
+            throw new Error("execution of jar [" + Arrays.toString(command) + "] failed", e);
+        }
+    }
+
+    private static Path foundInClassPath(Class<?> aClass) {
+        Path file = Paths.get(aClass.getName()
+                                    .replace(".", File.separator) + ".class");
+        for (String dir : Utils.TEST_CLASS_PATH.split(File.pathSeparator)) {
+            Path result = Paths.get(dir).resolve(file);
+            if (Files.exists(result)) {
+                return result;
+            }
+        }
+        throw new Error("can't find " + file + " in " + Utils.TEST_CLASS_PATH);
+    }
+
+    private static Path testRoot() {
+        Path p = Paths.get(Utils.TEST_SRC);
+        while (!Files.exists(p.resolve("TEST.ROOT"))) {
+            p = p.getParent();
+        }
+        return p;
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/ClassFileGenerator.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,771 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared;
+
+
+import jdk.internal.org.objectweb.asm.Handle;
+import jdk.internal.org.objectweb.asm.Type;
+import nsk.share.TestFailure;
+import nsk.share.test.TestUtils;
+import jdk.internal.org.objectweb.asm.Label;
+import jdk.internal.org.objectweb.asm.MethodVisitor;
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+import jdk.internal.org.objectweb.asm.ClassWriter;
+import static jdk.internal.org.objectweb.asm.ClassWriter.*;
+
+import vm.runtime.defmeth.shared.data.*;
+import vm.runtime.defmeth.shared.data.method.*;
+import vm.runtime.defmeth.shared.data.method.body.*;
+import vm.runtime.defmeth.shared.data.method.param.*;
+import vm.runtime.defmeth.shared.data.method.result.*;
+
+import java.lang.invoke.CallSite;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
+
+import static vm.runtime.defmeth.shared.ExecutionMode.*;
+
+/**
+ * Constructs class file from {@code Clazz} instance.
+ */
+public class ClassFileGenerator implements Visitor {
+    private final ExecutionMode invocationType;
+
+    /** Default major version for generated class files
+     * Used when a class doesn't specify what major version should be specified. */
+    private final int defaultMajorVer;
+
+    /** Default access flags for generated class files
+     * Used when a class doesn't specify it's own access flags. */
+    private final int defaultClassAccFlags;
+
+    /** Represent current state of class file traversal.
+     * Used to avoid passing instances around. */
+    private ClassWriter cw;
+    private MethodVisitor mv;
+    private Tester t;
+
+    private String className;
+
+    public ClassFileGenerator() {
+        this.defaultMajorVer = 52;
+        this.defaultClassAccFlags = ACC_PUBLIC;
+        this.invocationType = ExecutionMode.DIRECT;
+    }
+
+    public ClassFileGenerator(int ver, int acc, ExecutionMode invocationType) {
+        this.defaultMajorVer = ver;
+        this.defaultClassAccFlags = acc;
+        this.invocationType = invocationType;
+    }
+
+    /**
+     * Produce constructed class file as a {@code byte[]}.
+     *
+     * @return
+     */
+    public byte[] getClassFile() {
+        return cw.toByteArray();
+    }
+
+    /**
+     * Push integer constant on stack.
+     *
+     * Choose most suitable bytecode to represent integer constant on stack.
+     *
+     * @param value
+     */
+    private void pushIntConst(int value) {
+        switch (value) {
+            case 0:
+                mv.visitInsn(ICONST_0);
+                break;
+            case 1:
+                mv.visitInsn(ICONST_1);
+                break;
+            case 2:
+                mv.visitInsn(ICONST_2);
+                break;
+            case 3:
+                mv.visitInsn(ICONST_3);
+                break;
+            case 4:
+                mv.visitInsn(ICONST_4);
+                break;
+            case 5:
+                mv.visitInsn(ICONST_5);
+                break;
+            default:
+                mv.visitIntInsn(BIPUSH, value);
+        }
+    }
+
+    @Override
+    public void visitClass(Clazz clz) {
+        throw new IllegalStateException("More specific method should be called");
+    }
+
+    @Override
+    public void visitMethod(Method m) {
+        throw new IllegalStateException("More specific method should be called");
+    }
+
+    @Override
+    public void visitConcreteClass(ConcreteClass clz) {
+        cw = new ClassWriter(COMPUTE_FRAMES | COMPUTE_MAXS);
+
+        int ver = clz.ver();
+        int flags = clz.flags();
+
+        className = clz.intlName();
+
+        cw.visit((ver != 0) ? ver : defaultMajorVer,
+                ACC_SUPER | ((flags != -1) ? flags : defaultClassAccFlags),
+                className,
+                /* signature */ clz.sig(),
+                clz.parent().intlName(),
+                Util.asStrings(clz.interfaces()));
+
+        { // Default constructor: <init>()V
+            mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
+            mv.visitCode();
+            mv.visitVarInsn(ALOAD, 0);
+            mv.visitMethodInsn(INVOKESPECIAL, clz.parent().intlName(), "<init>", "()V", false);
+            mv.visitInsn(RETURN);
+            mv.visitMaxs(0, 0);
+            mv.visitEnd();
+
+            mv = null;
+        }
+
+        for (Method m : clz.methods()) {
+            m.visit(this);
+        }
+
+        cw.visitEnd();
+    }
+
+    @Override
+    public void visitInterface(Interface intf) {
+        cw = new ClassWriter(COMPUTE_FRAMES | COMPUTE_MAXS);
+
+        int ver = intf.ver();
+        int flags = intf.flags();
+
+        className = intf.intlName();
+
+        cw.visit(
+                (ver != 0) ? ver : defaultMajorVer,
+                ACC_ABSTRACT | ACC_INTERFACE | ((flags != -1) ? flags : defaultClassAccFlags),
+                className,
+                intf.sig(),
+                "java/lang/Object",
+                Util.asStrings(intf.parents()));
+
+        for (Method m : intf.methods()) {
+            m.visit(this);
+        }
+
+        cw.visitEnd();
+    }
+
+    @Override
+    public void visitConcreteMethod(ConcreteMethod m) {
+        mv = cw.visitMethod(
+                m.acc(),
+                m.name(),
+                m.desc(),
+                m.sig(),
+                m.getExceptions());
+
+        m.body().visit(this);
+
+        mv = null;
+    }
+
+    @Override
+    public void visitAbstractMethod(AbstractMethod m) {
+        cw.visitMethod(
+                ACC_ABSTRACT | m.acc(),
+                m.name(),
+                m.desc(),
+                m.sig(),
+                m.getExceptions());
+
+    }
+
+    @Override
+    public void visitDefaultMethod(DefaultMethod m) {
+        mv = cw.visitMethod(
+                m.acc(),
+                m.name(),
+                m.desc(),
+                m.sig(),
+                m.getExceptions());
+
+        m.body().visit(this);
+
+        mv = null;
+    }
+
+    /* ====================================================================== */
+
+    @Override
+    public void visitEmptyBody(EmptyBody aThis) {
+        mv.visitCode();
+        mv.visitInsn(RETURN);
+        mv.visitMaxs(0, 0);
+        mv.visitEnd();
+    }
+
+    @Override
+    public void visitThrowExBody(ThrowExBody body) {
+        mv.visitCode();
+        mv.visitTypeInsn(NEW, body.getExc().intlName());
+        mv.visitInsn(DUP);
+        //mv.visitLdcInsn(body.getMsg());
+        //mv.visitMethodInsn(INVOKESPECIAL, body.getExc(), "<init>", "(Ljava/lang/String;)V", false);
+        mv.visitMethodInsn(INVOKESPECIAL, body.getExc().intlName(), "<init>", "()V", false);
+        mv.visitInsn(ATHROW);
+        mv.visitMaxs(0, 0);
+        mv.visitEnd();
+    }
+
+    @Override
+    public void visitReturnIntBody(ReturnIntBody body) {
+        mv.visitCode();
+        //mv.visitIntInsn(BIPUSH, body.getValue());
+        pushIntConst(body.getValue());
+        mv.visitInsn(IRETURN);
+        mv.visitMaxs(0, 0);
+        mv.visitEnd();
+    }
+
+    @Override
+    public void visitReturnNullBody(ReturnNullBody body) {
+        mv.visitCode();
+        mv.visitInsn(ACONST_NULL);
+        mv.visitInsn(ARETURN);
+        mv.visitMaxs(0, 0);
+        mv.visitEnd();
+    }
+
+    private void generateCall(CallMethod callSite, ExecutionMode invocationType) {
+        switch (invocationType) {
+            case DIRECT:
+                generateDirectCall(callSite);
+                break;
+            case INVOKE_EXACT:
+                generateMHInvokeCall(callSite, /* isExact = */ true);
+                break;
+            case INVOKE_GENERIC:
+                generateMHInvokeCall(callSite, /* isExact = */ false);
+                break;
+            case INDY:
+                generateIndyCall(callSite);
+                break;
+            default:
+                throw new UnsupportedOperationException(invocationType.toString());
+        }
+    }
+
+    private void prepareParams(CallMethod callSite) {
+        // Prepare receiver
+        switch(callSite.invokeInsn()) {
+            case SPECIAL: // Put receiver (this) on stack
+                mv.visitVarInsn(ALOAD,0);
+                break;
+            case VIRTUAL:
+            case INTERFACE: // Construct receiver
+                if (callSite.receiverClass() != null) {
+                    String receiver = callSite.receiverClass().intlName();
+                    // Construct new instance
+                    mv.visitTypeInsn(NEW, receiver);
+                    mv.visitInsn(DUP);
+                    mv.visitMethodInsn(INVOKESPECIAL, receiver,
+                                       "<init>", "()V", false);
+                } else {
+                    // Use "this"
+                    mv.visitVarInsn(ALOAD, 0);
+                }
+                mv.visitVarInsn(ASTORE, 1);
+                mv.visitVarInsn(ALOAD, 1);
+                break;
+            case STATIC: break;
+        }
+
+        // Push parameters on stack
+        for (Param p : callSite.params()) {
+            p.visit(this);
+        }
+
+    }
+
+    private static Handle convertToHandle(CallMethod callSite) {
+        return new Handle(
+                /* tag */ callSite.invokeInsn().tag(),
+                /* owner */ callSite.staticClass().intlName(),
+                /* name */ callSite.methodName(),
+                /* desc */ callSite.methodDesc(),
+                /* interface */ callSite.isInterface());
+    }
+
+    private Handle generateBootstrapMethod(CallMethod callSite) {
+        String bootstrapName = "bootstrapMethod";
+        MethodType bootstrapType = MethodType.methodType(CallSite.class, MethodHandles.Lookup.class, String.class, MethodType.class);
+
+        MethodVisitor bmv = cw.visitMethod(ACC_PUBLIC | ACC_STATIC, bootstrapName, bootstrapType.toMethodDescriptorString(), null, null);
+        bmv.visitCode();
+
+        Handle mh = convertToHandle(callSite);
+
+        String constCallSite = "java/lang/invoke/ConstantCallSite";
+        bmv.visitTypeInsn(NEW, constCallSite);
+        bmv.visitInsn(DUP);
+
+        bmv.visitLdcInsn(mh);
+
+        bmv.visitMethodInsn(INVOKESPECIAL, constCallSite, "<init>", "(Ljava/lang/invoke/MethodHandle;)V", false);
+        bmv.visitInsn(ARETURN);
+
+        bmv.visitMaxs(0,0);
+        bmv.visitEnd();
+
+        return new Handle(H_INVOKESTATIC, className, bootstrapName, bootstrapType.toMethodDescriptorString());
+    }
+
+    private static String mhCallSiteDesc(CallMethod callSite) {
+        return (callSite.invokeInsn() != CallMethod.Invoke.STATIC) ?
+                prependType(callSite.methodDesc(), callSite.staticClass().intlName()) :
+                callSite.methodDesc(); // ignore receiver for static call
+    }
+
+    private void generateIndyCall(CallMethod callSite) {
+        Handle bootstrap = generateBootstrapMethod(callSite);
+        String callSiteDesc = mhCallSiteDesc(callSite);
+
+        prepareParams(callSite);
+
+        // Call method
+        mv.visitInvokeDynamicInsn(callSite.methodName(), callSiteDesc, bootstrap);
+
+        // Pop method result, if necessary
+        if (callSite.popReturnValue()) {
+            mv.visitInsn(POP);
+        }
+    }
+
+    private void generateMHInvokeCall(CallMethod callSite, boolean isExact) {
+        // Construct a method handle for a callee
+        mv.visitLdcInsn(convertToHandle(callSite));
+
+        prepareParams(callSite);
+
+        // Call method using MH + MethodHandle.invokeExact
+        mv.visitMethodInsn(
+                INVOKEVIRTUAL,
+                "java/lang/invoke/MethodHandle",
+                isExact ? "invokeExact" : "invoke",
+                mhCallSiteDesc(callSite),
+                false);
+
+        // Pop method result, if necessary
+        if (callSite.popReturnValue()) {
+            mv.visitInsn(POP);
+        }
+    }
+
+    // Prepend type as a first parameter
+    private static String prependType(String desc, String type) {
+        return desc.replaceFirst("\\(", "(L"+type+";");
+    }
+
+    private void generateDirectCall(CallMethod callSite) {
+        prepareParams(callSite);
+
+        // Call method
+        mv.visitMethodInsn(
+                callSite.invokeInsn().opcode(),
+                callSite.staticClass().intlName(),
+                callSite.methodName(), callSite.methodDesc(),
+                callSite.isInterface());
+
+        // Pop method result, if necessary
+        if (callSite.popReturnValue()) {
+            mv.visitInsn(POP);
+        }
+    }
+
+    @Override
+    public void visitCallMethod(CallMethod callSite) {
+        mv.visitCode();
+
+        generateCall(callSite, ExecutionMode.DIRECT);
+
+        String typeName = callSite.returnType();
+
+        if (!callSite.popReturnValue()) {
+            // Call produces some value & it isn't popped out of the stack
+            // Need to return it
+            switch (typeName) {
+                // primitive types
+                case "I" : case "B" : case "C" : case "S" : case "Z" :
+                    mv.visitInsn(IRETURN);
+                    break;
+                case "L": mv.visitInsn(LRETURN); break;
+                case "F": mv.visitInsn(FRETURN); break;
+                case "D": mv.visitInsn(DRETURN); break;
+                case "V": mv.visitInsn(RETURN); break;
+                default:
+                    // reference type
+                    if ((typeName.startsWith("L") && typeName.endsWith(";"))
+                        || typeName.startsWith("["))
+                    {
+                        mv.visitInsn(ARETURN);
+                    } else {
+                        throw new IllegalStateException(typeName);
+                    }
+            }
+        } else {
+            // Stack is empty. Plain return is enough.
+            mv.visitInsn(RETURN);
+        }
+
+        mv.visitMaxs(0,0);
+        mv.visitEnd();
+    }
+
+    @Override
+    public void visitReturnNewInstanceBody(ReturnNewInstanceBody body) {
+        String className = body.getType().intlName();
+        mv.visitCode();
+        mv.visitTypeInsn(NEW, className);
+        mv.visitInsn(DUP);
+        mv.visitMethodInsn(INVOKESPECIAL, className, "<init>", "()V", false);
+        mv.visitInsn(ARETURN);
+        mv.visitMaxs(0,0);
+        mv.visitEnd();
+    }
+
+    /* ====================================================================== */
+
+    @Override
+    public void visitTester(Tester tester) {
+        // If:
+        //   cw = new ClassWriter(COMPUTE_FRAMES | COMPUTE_MAXS);
+        // then:
+        // java.lang.RuntimeException: java.lang.ClassNotFoundException: S
+        //   at jdk.internal.org.objectweb.asm.ClassWriter.getCommonSuperClass(ClassWriter.java:1588)
+        //   at jdk.internal.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1559)
+        //   at jdk.internal.org.objectweb.asm.Frame.merge(Frame.java:1407)
+        //   at jdk.internal.org.objectweb.asm.Frame.merge(Frame.java:1308)
+        //   at jdk.internal.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1353)
+        //mv.visitMaxs(t.getParams().length > 1 ? t.getParams().length+1 : 2, 2);
+
+        cw = new ClassWriter(COMPUTE_MAXS);
+
+        int testMajorVer = defaultMajorVer;
+
+        // JSR 292 is available starting Java 7 (major version 51)
+        if (invocationType == INVOKE_WITH_ARGS ||
+            invocationType == INVOKE_EXACT ||
+            invocationType == INVOKE_GENERIC) {
+            testMajorVer = Math.max(defaultMajorVer, 51);
+        }
+
+        className = tester.intlName();
+
+        cw.visit(testMajorVer, ACC_PUBLIC | ACC_SUPER, className, null, "java/lang/Object", null);
+
+        { // Test.<init>
+            mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
+            mv.visitCode();
+            mv.visitVarInsn(ALOAD, 0);
+            mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V", false);
+            mv.visitInsn(RETURN);
+            mv.visitMaxs(0, 0);
+            mv.visitEnd();
+
+            mv = null;
+        }
+
+        { // public static Test.test()V
+            mv = cw.visitMethod(ACC_PUBLIC | ACC_STATIC, "test", "()V", null, null);
+            try {
+                // Generate result handling
+                t = tester;
+                try {
+                    tester.getResult().visit(this);
+                } finally {
+                    t = null;
+                }
+            } finally {
+                mv = null;
+            }
+        }
+
+        cw.visitEnd();
+    }
+
+    /* ====================================================================== */
+
+    @Override
+    public void visitResultInt(IntResult res) {
+        mv.visitCode();
+
+        generateCall(t.getCall(), invocationType);
+
+        mv.visitIntInsn(BIPUSH, res.getExpected());
+        mv.visitMethodInsn(INVOKESTATIC, Util.getInternalName(TestUtils.class), "assertEquals", "(II)V", false);
+
+        mv.visitInsn(RETURN);
+        mv.visitMaxs(0, 0);
+        mv.visitEnd();
+
+    }
+
+    /**
+     * Pseudo code:
+     * <code>
+     * {
+     *   try {
+     *       I i = new C(); i.m(...); // C.m(); if m is static
+     *       Assert.fail();
+     *   } catch (&lt;exception&gt; e) {
+     *       Assert.assertEquals(&lt;message&gt;,e.getMessage());
+     *   } catch (Throwable e) {
+     *       throw new RuntimeException("...", e);
+     *   }
+     * }
+     * </code>
+     */
+    @Override
+    public void visitResultThrowExc(ThrowExResult res) {
+        mv.visitCode();
+
+        Label lblBegin = new Label();
+        Label lblBootstrapMethodError = new Label();
+        Label lblNoBME = new Label();
+        if (invocationType == INDY) {
+            mv.visitTryCatchBlock(lblBegin, lblNoBME, lblBootstrapMethodError, "java/lang/BootstrapMethodError");
+        }
+
+        Label lblExpected = new Label();
+        mv.visitTryCatchBlock(lblBegin, lblExpected, lblExpected, res.getExc().intlName());
+
+        Label lblThrowable = new Label();
+        mv.visitTryCatchBlock(lblBegin, lblExpected, lblThrowable, "java/lang/Throwable");
+
+
+        mv.visitLabel(lblBegin);
+
+        generateCall(t.getCall(), invocationType);
+
+
+        if (Util.isNonVoid(t.getCall().returnType())) {
+            mv.visitInsn(POP);
+        }
+
+        mv.visitLabel(lblNoBME);
+
+        // throw new TestFailure("No exception was thrown")
+        mv.visitTypeInsn(NEW, "nsk/share/TestFailure");
+        mv.visitInsn(DUP);
+        mv.visitLdcInsn("No exception was thrown");
+        mv.visitMethodInsn(INVOKESPECIAL, "nsk/share/TestFailure", "<init>", "(Ljava/lang/String;)V", false);
+        mv.visitInsn(ATHROW);
+
+        // Unwrap exception during call site resolution from BootstrapMethodError
+        if (invocationType == INDY) {
+            // } catch (BootstrapMethodError e) {
+            //     throw e.getCause();
+            // }
+            mv.visitLabel(lblBootstrapMethodError);
+            mv.visitFrame(F_SAME1, 0, null, 1, new Object[] {"java/lang/BootstrapMethodError"});
+            mv.visitVarInsn(ASTORE, 1);
+            mv.visitVarInsn(ALOAD, 1);
+            mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/BootstrapMethodError", "getCause", "()Ljava/lang/Throwable;", false);
+
+            Label lblIsNull = new Label();
+            mv.visitJumpInsn(IFNULL, lblIsNull);
+            // e.getCause() != null
+            mv.visitVarInsn(ALOAD, 1);
+            mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/BootstrapMethodError", "getCause", "()Ljava/lang/Throwable;", false);
+            mv.visitInsn(ATHROW);
+
+            // e.getCause() == null
+            mv.visitLabel(lblIsNull);
+            mv.visitFrame(F_APPEND, 2, new Object[] {TOP, "java/lang/BootstrapMethodError"}, 0, null);
+            mv.visitVarInsn(ALOAD, 1);
+            mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/BootstrapMethodError", "getCause", "()Ljava/lang/Throwable;", false);
+            mv.visitInsn(ATHROW);
+        }
+
+        // } catch (<exception> e) {
+        //   //if <message> != null
+        //   Assert.assertEquals(<message>,e.getMessage());
+        // }
+        mv.visitLabel(lblExpected);
+        mv.visitFrame(F_FULL, 0, new Object[] {}, 1, new Object[] { res.getExc().intlName() });
+
+        mv.visitVarInsn(ASTORE, 1);
+
+        // Exception class comparison, if exact match is requested
+        if (res.isExact()) {
+            mv.visitVarInsn(ALOAD, 1);
+            mv.visitLdcInsn(Type.getType("L"+res.getExc().intlName()+";"));
+            mv.visitMethodInsn(INVOKESTATIC, Util.getInternalName(TestUtils.class), "assertExactClass", "(Ljava/lang/Object;Ljava/lang/Class;)V", false);
+        }
+
+        // Compare exception's message, if needed
+        if (res.getMessage() != null) {
+            mv.visitVarInsn(ALOAD, 1);
+            mv.visitLdcInsn(res.getMessage());
+            mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Exception", "getMessage", "()Ljava/lang/String;", false);
+            mv.visitMethodInsn(INVOKESTATIC, Util.getInternalName(TestUtils.class), "assertEquals", "(Ljava/lang/String;Ljava/lang/String;)V", false);
+        }
+
+        mv.visitInsn(RETURN);
+
+        // } catch (Throwable e) {
+        //     throw new RuntimeException("Expected exception <exception>", e);
+        // }
+        mv.visitLabel(lblThrowable);
+        mv.visitFrame(F_SAME1, 0, null, 1, new Object[]{"java/lang/Throwable"});
+        mv.visitVarInsn(ASTORE, 1);
+
+        //     e.printStackTrace();
+        //mv.visitVarInsn(ALOAD, 1);
+        //mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Throwable", "printStackTrace", "()V", false);
+
+        //     String msg = String.format("Expected exception J, got: %s: %s",
+        //                                e.getClass(), e.getMessage());
+        //     throw new RuntimeException(msg, e);
+        mv.visitTypeInsn(NEW, Util.getInternalName(TestFailure.class));
+        mv.visitInsn(DUP);
+        mv.visitLdcInsn("Expected exception " + res.getExc().name() + ", got: %s: %s");
+        mv.visitInsn(ICONST_2);
+        mv.visitTypeInsn(ANEWARRAY, "java/lang/Object");
+        mv.visitInsn(DUP);
+        mv.visitInsn(ICONST_0);
+        mv.visitVarInsn(ALOAD, 1);
+        mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Object", "getClass", "()Ljava/lang/Class;", false);
+        mv.visitInsn(AASTORE);
+        mv.visitInsn(DUP);
+        mv.visitInsn(ICONST_1);
+        mv.visitVarInsn(ALOAD, 1);
+        mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Throwable", "getMessage", "()Ljava/lang/String;", false);
+        mv.visitInsn(AASTORE);
+        mv.visitMethodInsn(INVOKESTATIC, "java/lang/String", "format", "(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;", false);
+
+        mv.visitVarInsn(ALOAD, 1);
+        mv.visitMethodInsn(INVOKESPECIAL, Util.getInternalName(TestFailure.class), "<init>", "(Ljava/lang/String;Ljava/lang/Throwable;)V", false);
+        mv.visitInsn(ATHROW);
+        // end of lblThrowable
+
+        mv.visitMaxs(0, 0);
+        mv.visitEnd();
+    }
+
+    @Override
+    public void visitResultIgnore() {
+        mv.visitCode();
+
+        generateCall(t.getCall(), invocationType);
+
+        if (Util.isNonVoid(t.getCall().returnType())) {
+            mv.visitInsn(POP);
+        }
+
+        mv.visitInsn(RETURN);
+
+        mv.visitMaxs(0, 0);
+        mv.visitEnd();
+    }
+
+    /* ====================================================================== */
+
+    @Override
+    public void visitParamInt(IntParam i) {
+        pushIntConst(i.value());
+    }
+
+    @Override
+    public void visitParamLong(LongParam l) {
+        long value = l.value();
+
+        if (value == 0L) {
+            mv.visitInsn(LCONST_0);
+        } else {
+            mv.visitLdcInsn(new Long(value));
+        }
+    }
+
+    @Override
+    public void visitParamFloat(FloatParam f) {
+        float value = f.value();
+
+        if (value == 0.0f) {
+            mv.visitInsn(FCONST_0);
+        } else if (value == 1.0f) {
+            mv.visitInsn(FCONST_1);
+        } else if (value == 2.0f) {
+            mv.visitInsn(FCONST_2);
+        } else {
+            mv.visitLdcInsn(new Float(value));
+        }
+    }
+
+    @Override
+    public void visitParamDouble(DoubleParam d) {
+        double value = d.value();
+
+        if (value == 0.0d) {
+            mv.visitInsn(DCONST_0);
+        } else if (value == 1.0d) {
+            mv.visitInsn(DCONST_1);
+        } else {
+            mv.visitLdcInsn(new Double(value));
+        }
+    }
+
+    @Override
+    public void visitParamNewInstance(NewInstanceParam param) {
+        String className = param.clazz().intlName();
+
+        mv.visitTypeInsn(NEW, className);
+        mv.visitInsn(DUP);
+        mv.visitMethodInsn(INVOKESPECIAL, className, "<init>", "()V", false);
+    }
+
+    @Override
+    public void visitParamNull() {
+        mv.visitInsn(ACONST_NULL);
+    }
+
+    @Override
+    public void visitParamString(StringParam str) {
+        mv.visitLdcInsn(str.value());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/Constants.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared;
+
+import static java.lang.String.format;
+
+/**
+ * Set of constants which are used in the test suite.
+ * The actual values can be changed through corresponding property.
+ */
+public class Constants {
+    static public final boolean PRINT_ASSEMBLY    = getValue("vm.runtime.defmeth.printAssembly",          false);
+    static public final boolean PRINT_TESTS       = getValue("vm.runtime.defmeth.printTests",             false);
+    static public final boolean ASMIFY            = getValue("vm.runtime.defmeth.printASMify",            false);
+    static public final boolean DUMP_CLASSES      = getValue("vm.runtime.defmeth.dumpClasses",            false);
+    static public final boolean PRINT_STACK_TRACE = getValue("vm.runtime.defmeth.printStackTrace",        false);
+    static public final boolean TRACE_CLASS_REDEF = getValue("vm.runtime.defmeth.traceClassRedefinition", false);
+
+    /**
+     * Get value of the test suite's property
+     * Supported values:
+     *   ""        == true
+     *   "true"    == true
+     *   "false"   == false
+     *   undefined == default value
+     */
+    static boolean getValue(String property, boolean defaultValue) {
+        String value = System.getProperty(property);
+
+        if ("false".equals(value))  return false;
+        if ("true".equals(value))   return true;
+        if ("".equals(value))       return true;
+        if (value == null )         return defaultValue;
+
+        throw new IllegalArgumentException(format("Unknown value: -D%s=%s", property, value));
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,366 @@
+/*
+1;2c * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.TreeSet;
+import java.util.regex.Pattern;
+import nsk.share.TestFailure;
+import nsk.share.log.Log;
+import nsk.share.test.TestBase;
+import vm.runtime.defmeth.AccessibilityFlagsTest;
+import vm.runtime.defmeth.BasicTest;
+import vm.runtime.defmeth.ConflictingDefaultsTest;
+import vm.runtime.defmeth.DefaultVsAbstractTest;
+import vm.runtime.defmeth.MethodResolutionTest;
+import vm.runtime.defmeth.ObjectMethodOverridesTest;
+import vm.runtime.defmeth.PrivateMethodsTest;
+import vm.runtime.defmeth.StaticMethodsTest;
+import vm.runtime.defmeth.SuperCallTest;
+import vm.runtime.defmeth.shared.annotation.Crash;
+import vm.runtime.defmeth.shared.annotation.KnownFailure;
+import vm.runtime.defmeth.shared.annotation.NotApplicableFor;
+import vm.runtime.defmeth.shared.builder.TestBuilderFactory;
+import vm.share.options.Option;
+import vm.share.options.OptionSupport;
+import vm.share.options.Options;
+import static java.lang.String.format;
+import java.util.Collections;
+import vm.runtime.defmeth.RedefineTest;
+import vm.runtime.defmeth.shared.annotation.NotTest;
+
+/**
+ * Parent class for all default method tests.
+ *
+ * Contains common settings and code to run individual tests.
+ *
+ * Provides command-line interface to run arbitrary subset of
+ * tests on default methods with some customizations.
+ */
+public abstract class DefMethTest extends TestBase {
+    /** Classes that contain tests on default methods */
+    static private final List<Class<? extends DefMethTest>> classes;
+
+    // the number of tests has failed
+    // note that if more than one sub-test has failed within a test,
+    // it will be counted as 1 failure for that test
+    private int numFailures;
+
+    static {
+        List<Class<? extends DefMethTest>> intlList = new ArrayList<>();
+
+        intlList.add(AccessibilityFlagsTest.class);
+        intlList.add(BasicTest.class);
+        intlList.add(ConflictingDefaultsTest.class);
+        intlList.add(DefaultVsAbstractTest.class);
+        intlList.add(MethodResolutionTest.class);
+        intlList.add(ObjectMethodOverridesTest.class);
+        intlList.add(SuperCallTest.class);
+        intlList.add(PrivateMethodsTest.class);
+        intlList.add(StaticMethodsTest.class);
+        intlList.add(RedefineTest.class);
+
+        classes = Collections.unmodifiableList(intlList);
+    }
+
+    public static List<Class<? extends DefMethTest>> getTests() {
+        return classes;
+    }
+
+    @Option(name="list", default_value="false", description="list tests w/o executing them")
+    boolean listTests;
+
+    @Option(name="filter", default_value="", description="filter executed tests")
+    String filterString;
+
+    @Option(name="ignoreKnownFailures", default_value="false", description="ignore tests with known failures")
+    boolean ignoreKnownFailures;
+
+    @Option(name="runOnlyFailingTests", default_value="false", description="run only failing tests")
+    boolean runOnlyFailingTests;
+
+    @Option(name="ignoreCrashes", default_value="false", description="don't run tests with crash VM")
+    boolean ignoreCrashes;
+
+    @Option(name="silent", default_value="false", description="silent mode - don't print anything")
+    boolean isSilent;
+
+    @Option(name="failfast", default_value="false", description="fail the whole set of test on first failure")
+    boolean failFast;
+
+    @Option(name="testAllModes", default_value="false", description="run each test in all possible modes")
+    boolean testAllModes;
+
+    @Option(name="mode", description="invocation mode (direct, reflect, invoke)", default_value="direct")
+    private String mode;
+
+    private Pattern filter; // Precompiled pattern for filterString
+
+    /**
+     * Used from individual tests to get TestBuilder instances,
+     * which is aware of current testing configuration
+     */
+    @Options
+    protected TestBuilderFactory factory = new TestBuilderFactory(this);
+
+    private void init() {
+        if (isSilent) {
+            getLog().setInfoEnabled(false);
+            getLog().setWarnEnabled(false);
+            getLog().setDebugEnabled(false);
+        }
+
+        if (filterString != null && !"".equals(filterString)) {
+            filter = Pattern.compile(".*" + filterString + ".*");
+        } else {
+            filter = Pattern.compile(".*"); // match everything
+        }
+
+        // Test-specific config
+        configure();
+    }
+
+    @Override
+    public final void run() {
+        init();
+
+        boolean success = runTest();
+        if (!success) {
+            getLog().info("TEST FAILED");
+            setFailed(true);
+        } else {
+            getLog().info("TEST PASSED");
+        }
+    }
+
+    protected void configure() {
+        // Is overriden by specific tests to do test-specific setup
+    }
+
+    public Log getLog() {
+        return log;
+    }
+
+    @Override
+    public String toString() {
+        return format("%s%s",
+                getClass().getSimpleName(), factory);
+    }
+
+    /** Enumerate invocation modes to be tested */
+    private ExecutionMode[] getInvocationModes() {
+        if (factory.getExecutionMode() != null) {
+            return new ExecutionMode[] { ExecutionMode.valueOf(factory.getExecutionMode()) };
+        }
+
+        if (testAllModes) {
+            return ExecutionMode.values();
+        }
+
+        switch(mode) {
+            case "direct":  return new ExecutionMode[] { ExecutionMode.DIRECT };
+            case "reflect": return new ExecutionMode[] { ExecutionMode.REFLECTION };
+            case "invoke_exact":   return new ExecutionMode[] { ExecutionMode.INVOKE_EXACT };
+            case "invoke_generic": return new ExecutionMode[] { ExecutionMode.INVOKE_GENERIC };
+            case "indy":    return new ExecutionMode[] { ExecutionMode.INDY };
+            case "invoke":  return new ExecutionMode[] { ExecutionMode.INVOKE_WITH_ARGS,
+                                                         ExecutionMode.INVOKE_EXACT,
+                                                         ExecutionMode.INVOKE_GENERIC,
+                                                         ExecutionMode.INDY };
+            case "redefinition":
+                throw new Error("redefinition is only a pseudo-mode");
+            default:
+                throw new Error("Unknown mode: " + mode);
+        }
+    }
+
+    // Check whether the test is applicable to selected execution mode
+    private boolean shouldExecute(Method m, ExecutionMode mode) {
+        Class<? extends DefMethTest> test = this.getClass();
+
+        int acc = m.getModifiers();
+        if (m.isAnnotationPresent(NotTest.class)
+                || (ignoreCrashes && m.isAnnotationPresent(Crash.class))
+                || !Modifier.isPublic(acc) || Modifier.isStatic(acc)
+                //|| m.getReturnType() != Void.class
+                || m.getParameterTypes().length != 0)
+        {
+            return false; // not a test
+        }
+
+        String testName = format("%s.%s", test.getName(), m.getName());
+        if (!filter.matcher(testName).matches()) {
+            return false; // test is filtered out
+        }
+
+        if (m.isAnnotationPresent(NotApplicableFor.class)) {
+            for (ExecutionMode excludeFromMode : m.getAnnotation(NotApplicableFor.class).modes()) {
+                if (mode == excludeFromMode) {
+                    return false; // not applicable to current execution mode
+                } else if (excludeFromMode == ExecutionMode.REDEFINITION &&
+                          (factory.isRedefineClasses() || factory.isRetransformClasses())) {
+                    return false; // Can't redefine some tests.
+                }
+
+            }
+        }
+
+          if (ignoreKnownFailures &&
+            m.isAnnotationPresent(KnownFailure.class)) {
+            ExecutionMode[] modes = m.getAnnotation(KnownFailure.class).modes();
+
+            if (modes.length == 0)  return false; // by default, matches all modes
+
+            for (ExecutionMode knownFailingMode : modes) {
+                if (mode == knownFailingMode) {
+                    return false; // known failure in current mode
+                }
+            }
+        }
+
+        return true;
+    }
+
+    /** Information about the test being executed */
+    public String shortTestName;
+
+    public static class ComparableMethod implements Comparable<ComparableMethod> {
+        final java.lang.reflect.Method m;
+        ComparableMethod(java.lang.reflect.Method m) { this.m = m; }
+        public int compareTo(ComparableMethod mo) {
+           String name = m.getName();
+           String mo_name = mo.m.getName();
+           return name.compareTo(mo_name);
+        }
+    }
+
+    /** helper method for subclass to report the number of test failures.
+     *  It is more important for the reflection case as an exception thrown
+     *  deep in the call stack may not be propagated to this level.
+     *
+     * @param failures
+     */
+    public void addFailureCount(int failures) {
+        numFailures += failures;
+    }
+
+    /**
+     * Execute all tests from current class and report status.
+     *
+     * The following execution customization is supported:
+     *   - filter tests by name using regex
+     *   - ignore tests marked as @KnownFailure
+     *   - ignore tests marked as @Crash
+     *   - only run tests marked as @KnownFailure
+     *
+     * @return any failures occurred?
+     */
+    public final boolean runTest() {
+        if (ignoreKnownFailures && runOnlyFailingTests) {
+            throw new IllegalArgumentException("conflicting parameters");
+        }
+
+        ExecutionMode[] invocationModes = getInvocationModes();
+
+        try {
+            int totalTests = 0;
+            int passedTests = 0;
+
+            Class<? extends DefMethTest> test = this.getClass();
+
+            getLog().info(format("\n%s %s", test.getSimpleName(), factory.toString()));
+
+            TreeSet<ComparableMethod> ts = new TreeSet<ComparableMethod>();
+            for (java.lang.reflect.Method m : test.getDeclaredMethods()) {
+                ts.add(new ComparableMethod(m));
+            }
+
+            for (ComparableMethod cm : ts) {
+                java.lang.reflect.Method m = cm.m;
+                for (ExecutionMode mode : invocationModes) {
+                    shortTestName = format("%s.%s", test.getSimpleName(), m.getName());
+
+                    if (!shouldExecute(m, mode)) {
+                        continue; // skip the test due to current configuration
+                    }
+
+                    totalTests++;
+
+                    getLog().info(shortTestName);
+
+                    if (listTests) {
+                        continue; // just print test info
+                    }
+
+                    // Iterate over all test modes
+                    try {
+                        factory.setExecutionMode(mode.name());
+                        getLog().info(format("    %s: ", mode));
+                        m.invoke(this);
+                    } catch (IllegalAccessException | IllegalArgumentException e) {
+                        throw new TestFailure(e);
+                    } catch (InvocationTargetException e) {
+                        if (e.getCause() instanceof TestFailure) {
+                            // Failure details were printed in GeneratedTest.run()/ReflectionTest.run()
+                        } else {
+                            if (Constants.PRINT_STACK_TRACE) {
+                                e.printStackTrace();
+                            }
+                        }
+
+                        if (failFast) {
+                            throw new TestFailure(e.getCause());
+                        }
+                    }
+                }
+            }
+
+            passedTests = totalTests - numFailures;
+            getLog().info(format("%d test run: %d passed, %d failed", totalTests, passedTests, numFailures));
+            if (numFailures == 0) {
+                return true;
+            } else {
+                return false;
+            }
+        } catch (Exception | Error e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    /** Command-line interface to initiate test run */
+    public static void main(String[] args) {
+        for (Class<? extends DefMethTest> clz : classes) {
+            try {
+                DefMethTest test = clz.newInstance();
+                OptionSupport.setupAndRun(test, args);
+            } catch (InstantiationException | IllegalAccessException e) {
+                throw new TestFailure(e);
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTestFailure.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared;
+
+import java.util.List;
+import nsk.share.Pair;
+import nsk.share.TestFailure;
+import vm.runtime.defmeth.shared.data.Tester;
+
+/**
+ * Test failure in a test on default method.
+ *
+ * Contains details about possibly multiple errors in
+ * individual test cases.
+ */
+public class DefMethTestFailure extends TestFailure {
+    private final List<Pair<Tester,Throwable>> errors;
+
+    public DefMethTestFailure(List<Pair<Tester,Throwable>> errors) {
+        this.errors = errors;
+    }
+
+    public List<Pair<Tester,Throwable>> getErrors() {
+        return errors;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/ExecutionMode.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared;
+
+/**
+ * Represents all supported methods of method invocation for testing purposes.
+ * Test scenarios can be run in all of these modes (with some exceptions).
+ */
+public enum ExecutionMode {
+    DIRECT,            // invoke methods using invoke* instructions on bytecode level
+    REFLECTION,        // use Reflection API (java.lang.reflect) for method invocation
+    REDEFINITION,      // use RedefineClasses
+    INVOKE_EXACT,      // use MethodHandle.invokeExact(...)
+    INVOKE_GENERIC,    // use MethodHandle.invoke(...)
+    INVOKE_WITH_ARGS,  // use MethodHandle.invokeWithArguments(...)
+    INDY;              // use invokedynamic instruction
+
+    public boolean isReflectionBased() {
+        return (this == REFLECTION || this == INVOKE_WITH_ARGS);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/MemoryClassLoader.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,195 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+import nsk.share.TestFailure;
+
+/**
+ * Class loader for classes from internal in-memory cache
+ */
+public class MemoryClassLoader extends ClassLoader {
+    private Map<String, byte[]> classes;
+
+    public MemoryClassLoader(Map<String, byte[]> classes) {
+        this.classes = new LinkedHashMap<>(classes);
+    }
+
+    public MemoryClassLoader(Map<String, byte[]> classes, ClassLoader parent) {
+        super(parent);
+        this.classes = new LinkedHashMap<>(classes);
+    }
+
+    @Override
+    public Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
+        // Lookup classes from default package eagerly.
+        // Otherwise, it may interfere with other classes on classpath in testbase
+        if (!name.contains(".") && classes.containsKey(name)) {
+            // First, check if the class has already been loaded
+            Class<?> c = findLoadedClass(name);
+            if (c == null) {
+                byte[] code = classes.get(name);
+                c = defineClass(name, code, 0, code.length);
+            }
+            if (resolve)  resolveClass(c);
+            return c;
+        } else {
+            return super.loadClass(name, resolve);
+        }
+    }
+
+    @Override
+    protected Class<?> findClass(String name) throws ClassNotFoundException {
+        if (classes.containsKey(name)) {
+            byte[] code = classes.get(name);
+            return defineClass(name, code, 0, code.length);
+        }
+        return null;
+    }
+
+    /**
+     * Check whether a class called {@code className} is loaded by any of
+     * ancestor class loaders.
+     *
+     * @param className
+     * @return
+     */
+    private boolean loadedByParent(String className) {
+        try {
+            return (getParent().loadClass(className) != null);
+        } catch (ClassNotFoundException ex) {
+            return false;
+        }
+    }
+
+    /**
+     * Pre-load all classes which are present in internal storage.
+     *
+     */
+    public void tryPreloadClasses() {
+        for (String name : classes.keySet()) {
+            try {
+                loadClass(name);
+            } catch (ClassNotFoundException e) {
+                // ignore errors during class loading
+            }
+        }
+    }
+
+    /**
+     * Redefine all classes, loaded by this class loader with their very same
+     * versions. Used to stress class redefinition code.
+     *
+     * @return
+     */
+    public MemoryClassLoader modifyClasses(boolean retransform) {
+        for (Entry<String, byte[]> entry : classes.entrySet()) {
+            modifyClass(entry, retransform);
+        }
+        return this;
+    }
+
+    public void modifyClasses(Map<String, byte[]> redefine, boolean retransform) {
+        for (Entry<String,byte[]> entry : redefine.entrySet()) {
+            modifyClass(entry, retransform);
+        }
+    }
+
+    private void modifyClass(Entry<String,byte[]> entry, boolean retransform) {
+        try {
+            String name = entry.getKey();
+
+            // Skip classes which are loaded by parent class loader and that are not
+            // in the unnamed package (otherwise it'll pick up classes from other Testbase
+            // tests, m.class for instance, that are on the regular classpath) e.g.
+            // j.l.AbstractMethodError. Their placeholders are used during test creation,
+            // but don't participate in test execution.
+            if (name.contains(".") && loadedByParent(name)) {
+                return;
+            }
+
+            Class clz = loadClass(name);
+            byte[] code = entry.getValue();
+
+            if (clz == null) {
+                // Ignore not "loadable" classes.
+                // For example, reflection scenarios don't generate classes for testers
+                return;
+            }
+
+            if (retransform) {
+                Util.retransformClass(clz, code);
+            } else {
+                Util.redefineClass(clz, code);
+            }
+
+        } catch (LinkageError e) {
+            // Ignore errors during linkage, since some tests produce
+            // incorrect class files intentionally.
+        } catch (ClassNotFoundException ex) {
+            throw new TestFailure(ex);
+        }
+    }
+
+    /** Prepare test context (vm.runtime.defmeth.shared.TestContext) */
+    private Class<?> contextClass;
+
+    public synchronized Class<?> getTestContext() {
+        if (contextClass == null) {
+            String context = TestContext.class.getName();
+            byte[] classFile = getClassFileFromParent(context);
+            contextClass = defineClass(context, classFile, 0, classFile.length);
+        }
+        return contextClass;
+    }
+
+    /** Get class file content from parent class loader */
+    private byte[] getClassFileFromParent(String name) {
+        String resourceName = name.replaceAll("\\.","/")+".class";
+        InputStream resource = getParent().getResourceAsStream(resourceName);
+        ByteArrayOutputStream output = new ByteArrayOutputStream();
+
+        byte[] buffer = new byte[8092];
+        int count = -1;
+        try {
+            while ((count = resource.read(buffer)) != -1) {
+                output.write(buffer, 0, count);
+            }
+            resource.close();
+        } catch (NullPointerException npe) {
+            // getResourceAsStream returns null for IOException
+            System.out.println("Unable to get resourceName " + resourceName);
+            throw new Error(npe);
+        } catch (IOException ex) {
+            throw new Error(ex);
+        }
+
+        return output.toByteArray();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/Printer.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,400 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared;
+
+import java.util.List;
+import java.util.ArrayList;
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+
+import vm.runtime.defmeth.shared.data.*;
+import vm.runtime.defmeth.shared.data.method.*;
+import vm.runtime.defmeth.shared.data.method.body.*;
+import vm.runtime.defmeth.shared.data.method.param.*;
+import vm.runtime.defmeth.shared.data.method.result.*;
+
+import static java.lang.String.*;
+import nsk.share.Pair;
+
+
+/**
+ * Construct text representation of a class.
+ * Used to print generated class hierarchies.
+ */
+public class Printer implements Visitor {
+
+    private StringBuilder sb = new StringBuilder();
+    private Tester t;
+
+    private String output() {
+        return sb.toString();
+    }
+
+    static private String printAcc(int acc) {
+        List<String> flags = new ArrayList<>();
+
+        if ((acc & ACC_STATIC) != 0) {
+            flags.add("static");
+        }
+
+        if ((acc & ACC_PUBLIC) != 0) {
+            flags.add("public");
+        }
+
+        if ((acc & ACC_PRIVATE) != 0) {
+            flags.add("private");
+        }
+
+        if ((acc & ACC_PROTECTED) != 0) {
+            flags.add("protected");
+        }
+
+        if ((acc & ACC_PUBLIC) == 0 &&
+                (acc & ACC_PRIVATE) == 0 &&
+                (acc & ACC_PROTECTED) == 0) {
+            flags.add("package");
+        }
+
+        if ((acc & ACC_STRICT) != 0) {
+            flags.add("strictfp");
+        }
+
+        if ((acc & ACC_SYNCHRONIZED) != 0) {
+            flags.add("synchronized");
+        }
+
+        return Util.intersperse(" ", flags.toArray(new String[0]));
+    }
+    static public String print(Clazz clz) {
+        Printer p = new Printer();
+        clz.visit(p);
+        return p.output();
+    }
+
+    static public String print(Method m) {
+        Printer p = new Printer();
+        m.visit(p);
+        return p.output();
+    }
+
+    @Override
+    public void visitClass(Clazz clz) {
+        throw new IllegalStateException("More specific method should be called");
+    }
+
+    @Override
+    public void visitMethod(Method m) {
+        sb.append(String.format(
+                "%s%s",
+                m.name(), m.desc()));
+
+        if (m.sig() != null) {
+            sb.append("/* <").append(m.sig()).append("> */");
+        }
+    }
+
+    @Override
+    public void visitConcreteClass(ConcreteClass clz) {
+        sb.append("class ").append(clz.name()).append(" ");
+
+        if (!clz.parent().name().equals("java.lang.Object")) {
+            sb.append("extends ").append(clz.parent().name()).append(" ");
+        }
+
+        if (clz.interfaces().length > 0) {
+            sb.append("implements ");
+            sb.append(Util.intersperse(", ", Util.asStrings(clz.interfaces())));
+            sb.append(" ");
+        }
+
+        Method[] methods = clz.methods();
+
+        sb.append("{");
+        if (methods.length > 0) {
+            for (Method m : methods) {
+                sb.append("\n    ");
+                m.visit(this);
+            }
+            sb.append("\n");
+        }
+        sb.append("}");
+    }
+
+    @Override
+    public void visitInterface(Interface intf) {
+        sb.append("interface ").append(intf.name())
+                .append(" ");
+
+        if (intf.parents().length > 0) {
+            sb.append("extends ");
+            sb.append(Util.intersperse(", ", Util.asStrings(intf.parents())));
+            sb.append(" ");
+        }
+
+        Method[] methods = intf.methods();
+
+        sb.append("{");
+        if (methods.length > 0) {
+            for (Method m : methods) {
+                sb.append("\n    ");
+                m.visit(this);
+            }
+            sb.append("\n");
+        }
+        sb.append("}");
+    }
+    @Override
+
+    /* ====================================================================== */
+
+    public void visitTester(Tester t) {
+        this.t = t;
+
+        //sb.append(t.name()).append(": ");
+        sb.append("TEST: ");
+
+        //t.getCall().visit(this);
+        CallMethod call = t.getCall();
+
+        // call.receiverClass() is null when a .staticCallSite() invoke is
+        // used. There is a staticClass but no receiverClass.
+        sb.append(format("%s o = new %s(); o.%s%s",
+                call.staticClass().name(),
+                (call.receiverClass() == null ? "" : call.receiverClass().name()),
+                call.methodName(),
+                call.methodDesc()));
+
+        sb.append(" ");
+
+        t.getResult().visit(this);
+
+        this.t = null;
+    }
+
+    /* ====================================================================== */
+
+    @Override
+    public void visitAbstractMethod(AbstractMethod m) {
+        Pair<String[],String> desc = Util.parseDesc(m.desc());
+
+        sb.append(format(
+                "abstract %s %s %s(%s);",
+                printAcc(m.acc()),
+                Util.decodeClassName(desc.second),
+                m.name(),
+                Util.intersperse(", ", desc.first)));
+
+        if (m.sig() != null) {
+            sb.append("<").append(m.sig()).append(">");
+        }
+    }
+
+    @Override
+    public void visitConcreteMethod(ConcreteMethod m) {
+        Pair<String[],String> desc = Util.parseDesc(m.desc());
+
+        sb.append(format(
+                "%s %s %s(%s)",
+                printAcc(m.acc()),
+                Util.decodeClassName(desc.second),
+                m.name(),
+                Util.intersperse(", ", desc.first)));
+
+        if (m.sig() != null) {
+            sb.append("<").append(m.sig()).append(">");
+        }
+
+        sb.append(" ");
+
+        sb.append(" { ");
+        m.body().visit(this);
+        sb.append(" }");
+    }
+
+    @Override
+    public void visitDefaultMethod(DefaultMethod m) {
+        Pair<String[],String> desc = Util.parseDesc(m.desc());
+
+        sb.append(format(
+                "default %s %s %s(%s)",
+                printAcc(m.acc()),
+                Util.decodeClassName(desc.second),
+                m.name(),
+                Util.intersperse(", ", desc.first)));
+
+        if (m.sig() != null) {
+            sb.append("<").append(m.sig()).append(">");
+        }
+
+        sb.append(" { ");
+        m.body().visit(this);
+        sb.append(" }");
+    }
+
+    /* ====================================================================== */
+
+    @Override
+    public void visitThrowExBody(ThrowExBody body) {
+        sb.append(String.format(
+                "throw new %s();", body.getExc().name()));
+    }
+
+    @Override
+    public void visitReturnIntBody(ReturnIntBody body) {
+        sb.append(String.format(
+                "return %d;", body.getValue()));
+    }
+
+    @Override
+    public void visitReturnNullBody(ReturnNullBody body) {
+        sb.append("return null;");
+    }
+
+    @Override
+    public void visitEmptyBody(EmptyBody aThis) {
+    }
+
+    /* ====================================================================== */
+
+    @Override
+    public void visitResultIgnore() {
+        sb.append("/* result ignored */");
+    }
+
+    @Override
+    public void visitResultInt(IntResult res) {
+        sb.append("== ").append(res.getExpected());
+    }
+
+    @Override
+    public void visitResultThrowExc(ThrowExResult res) {
+        sb.append(String.format(
+                "throws %s%s",
+                abbreviateExcName(res.getExc().name()),
+                res.getMessage() != null ? "(\"" + res.getMessage() + "\")"  : ""));
+    }
+
+    private String abbreviateExcName(String name) {
+        switch(name) {
+            case "java.lang.AbstractMethodError" : return "AME";
+            case "java.lang.NoSuchMethodError"   : return "NSME";
+            default: return name.replaceAll("java\\.lang\\.", "");
+        }
+    }
+    /* ====================================================================== */
+
+    @Override
+    public void visitParamInt(IntParam param) {
+        sb.append(param.value());
+    }
+
+    @Override
+    public void visitParamString(StringParam param) {
+        sb.append(param.value());
+    }
+
+    @Override
+    public void visitParamNull() {
+        sb.append("null");
+    }
+    @Override
+    public void visitParamLong(LongParam param) {
+        sb.append(param.value());
+    }
+
+    @Override
+    public void visitParamFloat(FloatParam param) {
+        sb.append(param.value());
+    }
+
+    @Override
+    public void visitParamDouble(DoubleParam param) {
+        sb.append(param.value());
+    }
+
+    @Override
+    public void visitParamNewInstance(NewInstanceParam param) {
+        sb.append(String.format(
+                "new %s()",
+                param.clazz().name()));
+    }
+
+    @Override
+    public void visitCallMethod(CallMethod call) {
+        String[] paramTypes = Util.parseDesc(call.methodDesc()).first;
+
+        if (paramTypes.length != call.params().length) {
+            throw new IllegalStateException();
+        }
+
+        //sb.append("{ ");
+        if (!call.popReturnValue()) {
+            sb.append("return ");
+        }
+
+        switch (call.invokeInsn()) {
+            case VIRTUAL: case INTERFACE:
+                sb.append(String.format(
+                        "((%s)%s).%s(",
+                        call.staticClass().name(),
+                        call.receiverClass() != null ? call.receiverClass().name() : "this",
+                        call.methodName()));
+                break;
+            case STATIC:
+                sb.append(String.format(
+                        "%s.%s(",
+                        call.staticClass().name(),
+                        call.methodName()));
+                break;
+            case SPECIAL:
+                sb.append(String.format(
+                        "%s.super.%s(",
+                        call.staticClass().name(),
+                        call.methodName()));
+                break;
+            default:
+                throw new IllegalStateException();
+        }
+
+        for (int i = 0; i<paramTypes.length; i++) {
+            sb.append(String.format(
+                    "(%s)", paramTypes[i]));
+
+            call.params()[i].visit(this);
+
+            if (i+1 < paramTypes.length) {
+                sb.append(", ");
+            }
+        }
+
+        //sb.append("); }");
+        sb.append(");");
+    }
+
+    @Override
+    public void visitReturnNewInstanceBody(ReturnNewInstanceBody body) {
+        sb.append(String.format(
+                        "return new %s();",
+                        body.getType().name()));
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/TestContext.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared;
+
+import vm.runtime.defmeth.shared.data.method.body.CallMethod;
+import vm.runtime.defmeth.shared.executor.MHInvokeWithArgsTest;
+
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * Encapsulates test context and provides utility methods to invoke methods
+ * in that context through reflection. Should be loaded in the same class loader as all other test classes.
+ * It is needed for correct resolution of initiating class loader in case of reflection invocation scenario.
+ */
+public class TestContext {
+    public static Object invoke(Method m, Object obj, Object... args)
+            throws InvocationTargetException, IllegalAccessException
+    {
+        return m.invoke(obj, args);
+    }
+
+    public static Object invokeWithArguments(CallMethod.Invoke invokeType, Class<?> declaringClass,
+                                             String methodName, MethodType type, Object... arguments) throws Throwable {
+        // Need to do method lookup in the right context
+        // Otherwise, ClassNotFoundException is thrown
+        MethodHandles.Lookup LOOKUP = MethodHandles.lookup();
+        MethodHandle mh;
+
+        // FYI: can't use switch over enum here, because to implement it javac produces auxiliary class TestContext$1
+        // and it can't be accessed from the context where TestContext is loaded
+        if (invokeType == CallMethod.Invoke.VIRTUAL || invokeType == CallMethod.Invoke.INTERFACE) {
+            mh = LOOKUP.findVirtual(declaringClass, methodName, type);
+        } else if (invokeType == CallMethod.Invoke.SPECIAL) {
+            mh = LOOKUP.findSpecial(declaringClass, methodName, type, declaringClass);
+        } else if (invokeType == CallMethod.Invoke.STATIC) {
+            mh = LOOKUP.findStatic(declaringClass, methodName, type);
+        } else {
+            throw new Error("Unknown invoke instruction: "+invokeType);
+        }
+
+        return mh.invokeWithArguments(arguments);
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/Util.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,463 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared;
+
+import vm.runtime.defmeth.shared.data.Clazz;
+import java.io.PrintWriter;
+import java.lang.instrument.ClassFileTransformer;
+import java.lang.instrument.IllegalClassFormatException;
+import java.lang.instrument.Instrumentation;
+import java.lang.instrument.UnmodifiableClassException;
+import java.security.ProtectionDomain;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import nsk.share.Pair;
+import nsk.share.TestFailure;
+import vm.runtime.defmeth.shared.data.method.param.*;
+
+
+/**
+ * Utility class with auxiliary miscellaneous methods.
+ */
+public class Util {
+    public static class Transformer {
+        private static Instrumentation inst;
+
+        public static void premain(String agentArgs, Instrumentation inst) {
+            Transformer.inst = inst;
+
+            /*
+            inst.addTransformer(new ClassFileTransformer() {
+                @Override
+                public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException {
+                    System.out.println("Retransform (initial): " + className);
+                    return classfileBuffer;
+                }
+            });
+            */
+        }
+    }
+
+    /**
+     * Concatenate {@code strings} array interleaving with {@code sep} in between.
+     *
+     * @param sep
+     * @param strings
+     * @return
+     */
+    public static String intersperse(String sep, String... strings) {
+        StringBuilder sb = new StringBuilder();
+        if (strings.length == 0) {
+            return "";
+        } else if (strings.length == 1) {
+            return strings[0];
+        } else {
+            sb.append(strings[0]);
+
+            for (int i=1; i<strings.length; i++) {
+                sb.append(sep).append(strings[i]);
+            }
+
+            return sb.toString();
+        }
+    }
+
+    /**
+     * Construct array of names for an array of {@code Clazz} instances.
+     *
+     * @param clazzes
+     * @return
+     */
+    public static String[] asStrings(Clazz[] clazzes) {
+        String[] result = new String[clazzes.length];
+        for (int i = 0; i < clazzes.length; i++) {
+            result[i] = clazzes[i].intlName();
+        }
+
+        return result;
+    }
+
+    /**
+     * Get the name of the test currently being executed
+     *
+     * @return name of the test being executed
+     */
+    public static String getTestName() {
+        // Hack: examine stack trace and extract test method's name from there
+        try {
+            throw new Exception();
+        } catch (Exception e) {
+            for (StackTraceElement elem : e.getStackTrace()) {
+                String className = elem.getClassName();
+                String methodName = elem.getMethodName();
+
+                if (className.startsWith("vm.runtime.defmeth.") &&
+                        methodName.startsWith("test")) {
+                    return String.format("%s.%s",
+                            className.replaceAll(".*\\.", ""), methodName);
+                }
+            }
+
+            return "Unknown";
+        }
+    }
+
+    /**
+     * Pretty-print {@code byte[] classFile} to stdout.
+     *
+     * @param classFile
+     */
+    public static void printClassFile(byte[] classFile) {
+        int flags =  jdk.internal.org.objectweb.asm.ClassReader.SKIP_DEBUG;
+
+        classFile = classFile.clone();
+
+        // FIXME: workaround for V1_7 limiation of current ASM
+        // Artificially downgrade
+        if (classFile[7] == 52) {
+            System.out.println("WARNING: downgraded major verson from 52 to 0");
+            classFile[7] = 0;
+        }
+
+         jdk.internal.org.objectweb.asm.ClassReader cr =
+                new  jdk.internal.org.objectweb.asm.ClassReader(classFile);
+
+        cr.accept(new  jdk.internal.org.objectweb.asm.util.TraceClassVisitor(new PrintWriter(System.out)),
+                flags);
+
+    }
+
+    /**
+     * Print ASM version (sequence of calls to ASM API to produce same class file)
+     * of {@code classFile} to stdout.
+     *
+     * @param classFile
+     */
+    public static void asmifyClassFile(byte[] classFile) {
+        int flags =  jdk.internal.org.objectweb.asm.ClassReader.SKIP_DEBUG;
+
+        // FIXME: workaround for V1_7 limiation of current ASM
+        // Artificially downgrade
+        if (classFile[7] == 52) {
+            // Need to patch the bytecode, so make a copy of the class file
+            classFile = classFile.clone();
+
+            System.out.println("WARNING: downgraded major verson from 52 to 0");
+            classFile[7] = 0;
+        }
+
+         jdk.internal.org.objectweb.asm.ClassReader cr =
+                new  jdk.internal.org.objectweb.asm.ClassReader(classFile);
+
+        //cr.accept(new TraceClassVisitor(new PrintWriter(System.out)), flags);
+        cr.accept(new  jdk.internal.org.objectweb.asm.util.TraceClassVisitor(null,
+                        new  jdk.internal.org.objectweb.asm.util.ASMifier(),
+                        new PrintWriter(System.out)), flags);
+    }
+
+    /**
+     * Parse method descriptor and split it into parameter types names and
+     * return type name.
+     *
+     * @param desc
+     * @return {@code Pair} of parameter types names and
+     */
+    public static Pair<String[],String> parseDesc(String desc) {
+        Pattern p = Pattern.compile("\\((.*)\\)(.*)");
+        Matcher m = p.matcher(desc);
+
+        if (m.matches()) {
+            String opts = m.group(1);
+            String returnVal = m.group(2);
+
+            return Pair.of(parseParams(opts), returnVal);
+        } else {
+            throw new IllegalArgumentException(desc);
+        }
+
+    }
+
+    /**
+     * Check whether a type isn't Void by it's name.
+     *
+     * @param type return type name
+     * @return
+     */
+    public static boolean isNonVoid(String type) {
+        return !("V".equals(type));
+    }
+
+    /**
+     * Split a sequence of type names (in VM internal form).
+     *
+     * Example:
+     *   "BCD[[ALA;I" => [ "B", "C", "D", "[[A", "LA;", "I" ]
+     *
+     * @param str
+     * @return
+     */
+    public static String[] parseParams(String str) {
+        List<String> params = new ArrayList<>();
+
+        /* VM basic type notation:
+                B   byte    signed byte
+                C   char    Unicode character code point in the Basic Multilingual Plane, encoded with UTF-16
+                D   double  double-precision floating-point value
+                F   float   single-precision floating-point value
+                I   int     integer
+                J   long    long integer
+                L Classname ;   reference   an instance of class Classname
+                S   short   signed short
+                Z   boolean true or false
+                [   reference   one array dimension
+         */
+        int i = 0;
+        int start = 0;
+        while (i < str.length()) {
+            char c = str.charAt(i);
+            switch (c) {
+                case 'B': case 'C': case 'D': case 'F':
+                case 'I': case 'J': case 'S': case 'Z':
+                    params.add(str.substring(start, i+1));
+                    start = i+1;
+                    break;
+                case 'L':
+                    int k = str.indexOf(';', i);
+                    if (k != 1) {
+                        params.add(str.substring(start, k+1));
+                        start = k+1;
+                        i = k;
+                    } else {
+                        throw new IllegalArgumentException(str);
+                    }
+                    break;
+                case '[':
+                    break;
+                default:
+                    throw new IllegalArgumentException(
+                            String.format("%d(%d): %c \'%s\'", i, start, c, str));
+            }
+
+            i++;
+        }
+
+        if (start != str.length()) {
+            throw new IllegalArgumentException(str);
+        }
+
+        return params.toArray(new String[0]);
+    }
+
+    /**
+     * Returns default values for different types:
+     *   - byte:    0
+     *   - short:   0
+     *   - int:     0
+     *   - long:    0L
+     *   - char:    \U0000
+     *   - boolean: false
+     *   - float:   0.0f
+     *   - double:  0.0d
+     *   - array:   null
+     *   - Object:  null
+     *
+     * @param types
+     * @return
+     */
+    public static Param[] getDefaultValues(String[] types) {
+        List<Param> values = new ArrayList<>();
+
+        for (String type : types) {
+            switch (type) {
+                case "I":  case "B": case "C": case "Z": case "S":
+                    values.add(new IntParam(0));
+                    break;
+                case "J":
+                    values.add(new LongParam(0L));
+                    break;
+                case "D":
+                    values.add(new DoubleParam(0.0d));
+                    break;
+                case "F":
+                    values.add(new FloatParam(0.0f));
+                    break;
+                default:
+                    if (type.startsWith("L") || type.startsWith("[")) {
+                        values.add(new NullParam());
+                    } else {
+                        throw new IllegalArgumentException(Arrays.toString(types));
+                    }
+                    break;
+            }
+        }
+
+        return values.toArray(new Param[0]);
+    }
+
+    /**
+     * Decode class name from internal VM representation into normal Java name.
+     * Internal class naming convention is extensively used to describe method type (descriptor).
+     *
+     * Examples:
+     *    "Ljava/lang/Object" => "java.lang.Object"
+     *    "I" => "int"
+     *    "[[[C" => "char[][][]"
+     *
+     * @param name
+     * @return
+     */
+    public static String decodeClassName(String name) {
+        switch (name) {
+            case "Z": return "boolean";
+            case "B": return "byte";
+            case "S": return "short";
+            case "C": return "char";
+            case "I": return "int";
+            case "J": return "long";
+            case "F": return "float";
+            case "D": return "double";
+            default:
+                if (name.startsWith("L")) {
+                    // "Ljava/lang/String;" => "java.lang.String"
+                    return name.substring(1, name.length()-1).replaceAll("/", ".");
+                } else if (name.startsWith("[")) {
+                    // "[[[C" => "char[][][]"
+                    return decodeClassName(name.substring(1)) + "[]";
+                } else {
+                    throw new IllegalArgumentException(name);
+                }
+        }
+    }
+
+    /**
+     * Decode class name from internal VM format into regular name and resolve it using {@code cl} {@code ClassLoader}.
+     * It is used during conversion of method type from string representation to strongly typed variants (e.g. MethodType).
+     *
+     * @param name
+     * @param cl
+     * @return
+     */
+    public static Class decodeClass(String name, ClassLoader cl) {
+        switch (name) {
+            case "Z": return boolean.class;
+            case "B": return byte.class;
+            case "S": return short.class;
+            case "C": return char.class;
+            case "I": return int.class;
+            case "J": return long.class;
+            case "F": return float.class;
+            case "D": return double.class;
+            case "V": return void.class;
+            default:
+                if (name.startsWith("L")) {
+                    // "Ljava/lang/String;" => "java.lang.String"
+                    String decodedName = name.substring(1, name.length()-1).replaceAll("/", ".");
+                    try {
+                        return cl.loadClass(decodedName);
+                    } catch (Exception e) {
+                        throw new Error(e);
+                    }
+                } else if (name.startsWith("[")) {
+                    // "[[[C" => "char[][][]"
+                    //return decodeClassName(name.substring(1)) + "[]";
+                    throw new UnsupportedOperationException("Resolution of arrays isn't supported yet: "+name);
+                } else {
+                    throw new IllegalArgumentException(name);
+                }
+        }
+    }
+
+    /**
+     * Redefine a class with a new version.
+     *
+     * @param clz class for redefinition
+     */
+    static public void retransformClass(final Class<?> clz, final byte[] classFile) {
+        ClassFileTransformer transformer = new ClassFileTransformer() {
+            @Override
+            public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException {
+                if (clz.getClassLoader() == loader && className.equals(clz.getName())) {
+                    if (Constants.TRACE_CLASS_REDEF)  System.out.println("RETRANSFORM: " + className);
+
+                    return classFile;
+                } else {
+                    // leave the class as-is
+                    return classfileBuffer;
+                }
+            }
+        };
+
+        Transformer.inst.addTransformer(transformer, true);
+        try {
+            Transformer.inst.retransformClasses(clz);
+        } catch (UnmodifiableClassException e) {
+            throw new TestFailure(e);
+        } finally {
+            Transformer.inst.removeTransformer(transformer);
+        }
+    }
+
+    /**
+     * Redefine a class with a new version (class file in byte array).
+     *
+     * @param clz class for redefinition
+     * @param classFile new version as a byte array
+     * @return false if any errors occurred during class redefinition
+     */
+    static public void redefineClass(Class<?> clz, byte[] classFile) {
+        if (clz ==  null) {
+            throw new IllegalArgumentException("clz == null");
+        }
+
+        if (classFile == null || classFile.length == 0) {
+            throw new IllegalArgumentException("Incorrect classFile");
+        }
+
+        if (Constants.TRACE_CLASS_REDEF)  System.out.println("REDEFINE: "+clz.getName());
+
+        if (!redefineClassIntl(clz, classFile)) {
+            throw new TestFailure("redefineClass failed: "+clz.getName());
+        }
+    }
+
+
+    native static public boolean redefineClassIntl(Class<?> clz, byte[] classFile);
+
+    /**
+     * Get VM internal name of {@code Class<?> clz}.
+     *
+     * @param clz
+     * @return
+     */
+    public static String getInternalName(Class<?> clz) {
+        if (!clz.isPrimitive()) {
+            return clz.getName().replaceAll("\\.", "/");
+        } else {
+            throw new UnsupportedOperationException();
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/Crash.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Mark a test that it may crash VM.
+ * Allows to exclude all such tests when crashes are undesirable
+ * (e.g. same VM execution mode).
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface Crash {}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/KnownFailure.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.annotation;
+
+import vm.runtime.defmeth.shared.ExecutionMode;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Mark a test that it may fail (due to a test or product bug).
+ * Allows to exclude all failing tests when failures are undesirable.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface KnownFailure {
+    ExecutionMode[] modes() default {};
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/NotApplicableFor.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.annotation;
+
+import vm.runtime.defmeth.shared.ExecutionMode;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Marks that a test isn't applicable for execution in particular invocation mode.
+ */
+@Retention( RetentionPolicy.RUNTIME)
+public @interface NotApplicableFor {
+    ExecutionMode[] modes();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/NotTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/*
+ * Explicitly marks a method as not a test, thus ensuring that it won't be
+ * executed as part of a test run.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface NotTest {
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/AccessFlag.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.builder;
+
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+
+/**
+ * Access flags, related to element visibility (public, private, etc).
+ *
+ * Introduced to simplify management of access flags due to peculiarity how
+ * package-private is represented ((ACC_PUBLIC | ACC_PROTECTED | ACC_PRIVATE) == 0).
+ */
+public enum AccessFlag {
+    PUBLIC          (ACC_PUBLIC),
+    PROTECTED       (ACC_PROTECTED),
+    PRIVATE         (ACC_PRIVATE),
+    PACKAGE_PRIVATE (0);
+
+    public final int mask;
+
+    AccessFlag(int mask) {
+        this.mask = mask;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/Builder.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.builder;
+
+/**
+ * Builder for some arbitrary type {@code <T>}.
+ *
+ * @param <T>
+ */
+interface Builder<T> {
+
+    T build();
+
+    TestBuilder done();
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/ClassBuilder.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.builder;
+
+import java.util.ArrayList;
+import java.util.List;
+import vm.runtime.defmeth.shared.data.method.Method;
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+
+/**
+ * Generic builder for classes of type {@code <S>} using
+ * builder of type {@code <T>}.
+ *
+ * Builder type is necessary to support type-safe fluent code style.
+ *
+ * Example:
+ * <code>
+ * public class InterfaceBuilder
+ *            extends ClassBuilder&lt;InterfaceBuilder,Interface&gt; { ...
+ * </code>
+ *
+ * It produces {@code Interface} instance and all interim method calls return
+ * {@code InterfaceBuilder} instance.
+ *
+ * @param <T>
+ * @param <S>
+ */
+public abstract class ClassBuilder<T,S> implements Builder<S> {
+    protected String name;
+
+    // Class flags
+    protected int flags = ACC_PUBLIC;
+
+    // Exact class file major version, if needed
+    protected int majorVer;
+
+    // Class signature (if applicable)
+    protected String sig;
+
+    // Declared methods
+    protected List<Method> methods = new ArrayList<>();
+
+    // Enclosing test builder
+    protected TestBuilder builder;
+
+    public ClassBuilder(TestBuilder builder) {
+        this.builder = builder;
+    }
+
+    @SuppressWarnings("unchecked")
+    public T flags(int flags) {
+        this.flags = flags;
+
+        return (T)this;
+    }
+
+    @SuppressWarnings("unchecked")
+    public T addFlags(int flags) {
+        this.flags |= flags;
+
+        return (T)this;
+    }
+
+    @SuppressWarnings("unchecked")
+    public T name(String name) {
+        this.name = name;
+
+        return (T)this;
+    }
+
+    @SuppressWarnings("unchecked")
+    public T method(Method m) {
+        methods.add(m);
+
+        return (T)this;
+    }
+
+    @SuppressWarnings("unchecked")
+    public T ver(int ver) {
+        this.majorVer = ver;
+
+        return (T)this;
+    }
+
+    @SuppressWarnings("unchecked")
+    public T sig(String sig) {
+        this.sig = sig;
+
+        return (T)this;
+    }
+
+    @Override
+    public TestBuilder done() {
+        build();
+
+        return builder;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/ClassMethodBuilder.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.builder;
+
+import vm.runtime.defmeth.shared.data.Clazz;
+import vm.runtime.defmeth.shared.data.ConcreteClass;
+import vm.runtime.defmeth.shared.data.method.body.CallMethod;
+import vm.runtime.defmeth.shared.data.method.body.MethodBody;
+
+/**
+ * Context-specific builder for method instances of type {@code <T>}.
+ * Allows to construct type-safe nested builders for classes with methods.
+ *
+ * Example:
+ * <code>
+ * Interface I =
+ *      new TestBuilder().intf("I")
+ *          .defaultMethod("m", "()V").emptyBody().build()
+ *      .build();
+ * </code>
+ *
+ * @param <T>
+ */
+public class ClassMethodBuilder<T> {
+    /* Enclosing Clazz builder */
+    private ClassBuilder<T,?> cb;
+
+    private MethodBuilder mb;
+
+    /* package-private */ ClassMethodBuilder(ClassBuilder<T,?> cb, MethodBuilder mb) {
+        this.cb = cb;
+        this.mb = mb;
+    }
+
+    public ClassMethodBuilder<T> name(String name) { mb.name(name); return this; }
+    public ClassMethodBuilder<T> desc(String desc) { mb.desc(desc); return this; }
+    public ClassMethodBuilder<T> sig(String sig)   { mb.sig(sig);   return this; }
+
+    public ClassMethodBuilder<T> body(MethodBody body) { mb.body(body);   return this; }
+
+    public ClassMethodBuilder<T> emptyBody()           { mb.empty();       return this; }
+    public ClassMethodBuilder<T> returns(int i)        { mb.returns(i);    return this; }
+    public ClassMethodBuilder<T> returnsNull()         { mb.returnsNull(); return this; }
+    public ClassMethodBuilder<T> throw_(Clazz clz)     { mb.throws_(clz);  return this; }
+    public ClassMethodBuilder<T> throw_(Class<? extends Throwable> exc) {
+        mb.throws_(exc);
+        return this;
+    }
+    public ClassMethodBuilder<T> returnsNewInstance(ConcreteClass clz)  { mb.returnsNewInstance(clz); return this; }
+
+    public ClassMethodBuilder<T> callSuper(Clazz callee, String methodName, String methodDesc) {
+        mb.superCall(callee, methodName, methodDesc);
+        return this;
+    }
+
+    public ClassMethodBuilder<T> invokeSpecial(Clazz callee, String methodName, String methodDesc) {
+        mb.invokeSpecial(callee, methodName, methodDesc);
+        return this;
+    }
+
+    public ClassMethodBuilder<T> invokeStatic(Clazz callee, String methodName, String methodDesc) {
+        mb.invokeStatic(callee, methodName, methodDesc);
+        return this;
+    }
+
+    public ClassMethodBuilder<T> invoke(CallMethod.Invoke callInsn, Clazz staticCallee,
+                                        ConcreteClass callee, String methodName,
+                                        String methodDesc, CallMethod.IndexbyteOp generateIndexbyteOp) {
+        mb.invoke(callInsn, staticCallee, callee, methodName, methodDesc, generateIndexbyteOp);
+        return this;
+    }
+
+    public ClassMethodBuilder<T> public_()         { mb.public_();         return this; }
+    public ClassMethodBuilder<T> protected_()      { mb.protected_();      return this; }
+    public ClassMethodBuilder<T> private_()        { mb.private_();        return this; }
+    public ClassMethodBuilder<T> package_private() { mb.package_private(); return this; }
+
+    public ClassMethodBuilder<T> static_()         { mb.static_();         return this; }
+    public ClassMethodBuilder<T> synthetic()       { mb.synthetic();       return this; }
+
+    public ClassMethodBuilder<T> flags(int flags)    { mb.flags(flags);    return this; }
+    public ClassMethodBuilder<T> addFlags(int flags) { mb.addFlags(flags); return this; }
+
+    @SuppressWarnings("unchecked")
+    public T build() { cb.method(mb.build()); return (T)cb; }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/ConcreteClassBuilder.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.builder;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import vm.runtime.defmeth.shared.data.ConcreteClass;
+import vm.runtime.defmeth.shared.data.Interface;
+import vm.runtime.defmeth.shared.data.method.Method;
+
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+import vm.runtime.defmeth.shared.data.ConcreteClassImpl;
+
+/**
+ * Builder of {@link Data.ConcreteClass} instances.
+ */
+public class ConcreteClassBuilder extends ClassBuilder<ConcreteClassBuilder,ConcreteClass>{
+    // Super class
+    private ConcreteClass parent;
+
+    // Implemented interfaces
+    private List<Interface> interfaces = new ArrayList<>();
+
+    /* package-private */ ConcreteClassBuilder(TestBuilder builder) {
+        super(builder);
+    }
+
+    public ConcreteClassBuilder extend(ConcreteClass parent) {
+        this.parent = parent;
+
+        return this;
+    }
+
+    public ConcreteClassBuilder extend(Class<?> parent) {
+        this.parent = builder.toConcreteClass(parent);
+
+        return this;
+    }
+
+    public ConcreteClassBuilder implement(Interface... ifaces) {
+        interfaces.addAll(Arrays.asList(ifaces));
+
+        return this;
+    }
+
+    public ClassMethodBuilder<ConcreteClassBuilder> abstractMethod(String name, String desc) {
+        MethodBuilder mb = new MethodBuilder(builder).name(name).desc(desc).type(MethodType.ABSTRACT);
+
+        // Ensure that the class enclosing abstract method is also abstract
+        addFlags(ACC_ABSTRACT);
+
+        return new ClassMethodBuilder<>(this, mb);
+    }
+
+    public ClassMethodBuilder<ConcreteClassBuilder> concreteMethod(String name, String desc) {
+        MethodBuilder mb = new MethodBuilder(builder).name(name).desc(desc).type(MethodType.CONCRETE);
+        return new ClassMethodBuilder<>(this, mb);
+    }
+
+    /**
+     * Construct Data.ConcreteClass instance.
+     * @return instance of Data.Interface class
+     */
+    @Override
+    public ConcreteClass build() {
+        if (name == null) {
+            throw new IllegalStateException();
+        }
+
+        if (builder.hasElement(name)) {
+            throw new IllegalStateException(name);
+        }
+
+        ConcreteClass clz = new ConcreteClassImpl(name, flags, majorVer, sig,
+                (parent != null) ? parent : ConcreteClass.OBJECT,
+                interfaces.toArray(new Interface[0]),
+                methods.toArray(new Method[0]));
+
+        builder.register(clz);
+        builder.finishConstruction(this);
+
+        return clz;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/InterfaceBuilder.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.builder;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import vm.runtime.defmeth.shared.data.Interface;
+import vm.runtime.defmeth.shared.data.InterfaceImpl;
+import vm.runtime.defmeth.shared.data.method.Method;
+
+/**
+ * Builder for Interface instances.
+ */
+public class InterfaceBuilder extends ClassBuilder<InterfaceBuilder,Interface> {
+
+    // Superinterfaces
+    private List<Interface> parents = new ArrayList<>();
+
+    /* package-private */ InterfaceBuilder(TestBuilder builder) {
+        super(builder);
+    }
+
+    public InterfaceBuilder extend(Interface... intf) {
+        parents.addAll(Arrays.asList(intf));
+
+        return this;
+    }
+
+    public ClassMethodBuilder<InterfaceBuilder> defaultMethod(String name, String desc) {
+        MethodBuilder mb = builder.method().name(name).desc(desc).type(MethodType.DEFAULT);
+        return new ClassMethodBuilder<>(this, mb);
+    }
+
+    public ClassMethodBuilder<InterfaceBuilder> abstractMethod(String name, String desc) {
+        MethodBuilder mb = builder.method().name(name).desc(desc).type(MethodType.ABSTRACT);
+        return new ClassMethodBuilder<>(this, mb);
+    }
+
+    /**
+     * Construct Data.Interface instance.
+     * @return instance of Data.Interface class
+     */
+    @Override
+    public Interface build() {
+        if (name == null) {
+            throw new IllegalStateException();
+        }
+
+        Interface intf = new InterfaceImpl(flags, name, majorVer, sig, parents.toArray(new Interface[0]),
+                methods.toArray(new Method[0]));
+
+        if (builder.hasElement(name)) {
+            throw new IllegalStateException();
+        }
+
+        builder.register(intf);
+        builder.finishConstruction(this);
+
+        return intf;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/MethodBuilder.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.builder;
+
+import java.util.HashSet;
+import java.util.Set;
+import nsk.share.Pair;
+import vm.runtime.defmeth.shared.Util;
+import vm.runtime.defmeth.shared.data.Clazz;
+import vm.runtime.defmeth.shared.data.method.AbstractMethod;
+import vm.runtime.defmeth.shared.data.method.ConcreteMethod;
+import vm.runtime.defmeth.shared.data.method.DefaultMethod;
+import vm.runtime.defmeth.shared.data.method.Method;
+import vm.runtime.defmeth.shared.data.method.body.CallMethod;
+import vm.runtime.defmeth.shared.data.method.body.EmptyBody;
+import vm.runtime.defmeth.shared.data.method.body.MethodBody;
+import vm.runtime.defmeth.shared.data.method.body.ReturnIntBody;
+import vm.runtime.defmeth.shared.data.method.body.ReturnNewInstanceBody;
+import vm.runtime.defmeth.shared.data.method.body.ReturnNullBody;
+import vm.runtime.defmeth.shared.data.method.body.ThrowExBody;
+import vm.runtime.defmeth.shared.data.method.param.Param;
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+import vm.runtime.defmeth.shared.data.ConcreteClass;
+
+/**
+ * Builder of Method instances.
+ */
+public class MethodBuilder {
+    private MethodType type;
+    private int flags = 0;
+    private String name;
+    private MethodBody body;
+
+    // Method's erased signature
+    private String desc;
+
+    // Method's language-level signature
+    private String sig;
+
+    private TestBuilder builder;
+
+    /* package-private */ MethodBuilder(TestBuilder builder) {
+        this.builder = builder;
+    }
+
+    /* package-private */ MethodBuilder type(MethodType type) {
+        this.type = type;
+        return this;
+    }
+
+    public MethodBuilder name(String name) {
+        this.name = name;
+
+        return this;
+    }
+
+    public MethodBuilder desc(String desc) {
+        this.desc = desc;
+        return this;
+    }
+
+    public MethodBuilder sig(String sig) {
+        this.sig = sig;
+        return this;
+    }
+
+    public MethodBuilder body(MethodBody body) {
+        if (type == null || type == MethodType.ABSTRACT) {
+            throw new IllegalStateException();
+        }
+
+        this.body = body;
+
+        return this;
+    }
+
+    public MethodBuilder empty()            { return body(new EmptyBody()); }
+    public MethodBuilder returns(int i)     { return body(new ReturnIntBody(i)); }
+    public MethodBuilder returnsNull()      { return body(new ReturnNullBody()); }
+    public MethodBuilder throws_(Clazz clz) { return body(new ThrowExBody(clz)); }
+    public MethodBuilder throws_(Class<? extends Throwable> exc) {
+        return body(new ThrowExBody(builder.toClazz(exc)));
+    }
+
+    public MethodBuilder returnsNewInstance(ConcreteClass clz) {
+        return body(new ReturnNewInstanceBody(clz));
+    }
+
+    public MethodBuilder superCall(Clazz callee, String methodName, String methodDesc) {
+        return invokeSpecial(callee, methodName, methodDesc);
+    }
+
+    public MethodBuilder invokeSpecial(Clazz callee, String methodName, String methodDesc) {
+        return invoke(CallMethod.Invoke.SPECIAL, callee, null, methodName,
+                    methodDesc, CallMethod.IndexbyteOp.CALLSITE);
+    }
+
+    public MethodBuilder invokeStatic(Clazz callee, String methodName, String methodDesc) {
+        return invoke(CallMethod.Invoke.STATIC, callee, null, methodName,
+                    methodDesc, CallMethod.IndexbyteOp.CALLSITE);
+    }
+
+    public MethodBuilder invoke(CallMethod.Invoke callInsn, Clazz staticCallee,
+                                ConcreteClass callee, String methodName, String methodDesc,
+                                CallMethod.IndexbyteOp generateIndexbyteOp) {
+        Pair<String[],String> calleeDetails = Util.parseDesc(methodDesc);
+        Param[] params = Util.getDefaultValues(calleeDetails.first);
+        String returnType = calleeDetails.second;
+
+        boolean popResult = Util.isNonVoid(returnType)
+                && !Util.isNonVoid(Util.parseDesc(desc).second);
+
+        return body(new CallMethod(
+                            callInsn, staticCallee, callee,
+                            methodName, methodDesc, params, returnType,
+                            popResult, generateIndexbyteOp));
+    }
+
+    // set of accessibility flags for the method
+    private Set<AccessFlag> methodAccFlags = new HashSet<>();
+
+    public MethodBuilder public_()         { methodAccFlags.add(AccessFlag.PUBLIC);          return this; }
+    public MethodBuilder protected_()      { methodAccFlags.add(AccessFlag.PROTECTED);       return this; }
+    public MethodBuilder private_()        { methodAccFlags.add(AccessFlag.PRIVATE);         return this; }
+    public MethodBuilder package_private() { methodAccFlags.add(AccessFlag.PACKAGE_PRIVATE); return this; }
+
+    public MethodBuilder static_()    { return addFlags(ACC_STATIC); }
+    public MethodBuilder synthetic()    { return addFlags(ACC_SYNTHETIC); }
+
+    private void parseFlags(int flags) {
+        if ((flags & ACC_PUBLIC) != 0) {
+            public_();
+        }
+        if ((flags & ACC_PROTECTED) != 0) {
+            protected_();
+        }
+        if ((flags & ACC_PRIVATE) != 0) {
+            private_();
+        }
+        if ((flags & (ACC_PUBLIC | ACC_PROTECTED | ACC_PRIVATE)) == 0) {
+            package_private();
+        }
+    }
+
+    public MethodBuilder flags(int flags) {
+        methodAccFlags.clear();
+
+        parseFlags(flags);
+        this.flags = flags;
+
+        return this;
+    }
+
+    public MethodBuilder addFlags(int flags) {
+        parseFlags(flags);
+        this.flags |= flags;
+
+        return this;
+    }
+
+    public Method build() {
+        if (name == null) {
+            throw new IllegalStateException();
+        }
+
+        int lFlags = flags;
+        if (!methodAccFlags.isEmpty()) {
+            for (AccessFlag flag : methodAccFlags) {
+                lFlags |= flag.mask;
+            }
+        } else {
+            lFlags |= AccessFlag.PUBLIC.mask;
+        }
+
+        if (type != null) {
+            switch (type) {
+                case ABSTRACT:
+                    // Excerpt from JVMS8 4.6 "Methods [Modified]:
+                    //   If a specific method of a class or interface has its ACC_ABSTRACT flag set,
+                    // it must not have any of its ACC_FINAL, ACC_NATIVE, ACC_PRIVATE, ACC_STATIC, ACC_STRICT, or
+                    // ACC_SYNCHRONIZED flags set (8.4.3.1, 8.4.3.3, 8.4.3.4).
+                    lFlags |= (builder.accFlags & ~(ACC_NATIVE | ACC_PRIVATE | ACC_STATIC | ACC_STRICT | ACC_SYNCHRONIZED));
+                    return new AbstractMethod(lFlags, name, desc, sig);
+                case CONCRETE:
+                    lFlags |= builder.accFlags;
+                    return new ConcreteMethod(lFlags, name, desc, sig, body);
+                case DEFAULT:
+                    // Excerpt from JVMS8 4.6 "Methods [Modified]:
+                    // Methods of interfaces may set any of the flags in Table 4.5 except ACC_PROTECTED, ACC_FINAL,
+                    // ACC_NATIVE, and ACC_SYNCHRONIZED (9.4); they must have exactly one of the ACC_PUBLIC or
+                    // ACC_PRIVATE flags set.
+                    lFlags |= (builder.accFlags & ~(ACC_NATIVE | ACC_PRIVATE | ACC_STATIC | ACC_STRICT | ACC_SYNCHRONIZED));
+                    return new DefaultMethod(lFlags, name, desc, sig, body);
+                default:
+                    throw new IllegalStateException();
+            }
+        } else {
+            return new Method(lFlags, name, desc, sig);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/MethodType.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.builder;
+
+public enum MethodType {
+    ABSTRACT,
+    CONCRETE,
+    DEFAULT
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/TestBuilder.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,529 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.builder;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.util.*;
+
+import nsk.share.Pair;
+
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+
+import nsk.share.TestFailure;
+import vm.runtime.defmeth.shared.ClassFileGenerator;
+import vm.runtime.defmeth.shared.Constants;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.DefMethTestFailure;
+import vm.runtime.defmeth.shared.ExecutionMode;
+import vm.runtime.defmeth.shared.executor.GeneratedTest;
+import vm.runtime.defmeth.shared.MemoryClassLoader;
+import vm.runtime.defmeth.shared.executor.MHInvokeWithArgsTest;
+import vm.runtime.defmeth.shared.Printer;
+import vm.runtime.defmeth.shared.executor.ReflectionTest;
+import vm.runtime.defmeth.shared.executor.TestExecutor;
+import vm.runtime.defmeth.shared.Util;
+
+import vm.runtime.defmeth.shared.data.Clazz;
+import vm.runtime.defmeth.shared.data.ConcreteClass;
+import vm.runtime.defmeth.shared.data.ConcreteClassLazyAdapter;
+import vm.runtime.defmeth.shared.data.Interface;
+import vm.runtime.defmeth.shared.data.InterfaceLazyAdapter;
+import vm.runtime.defmeth.shared.data.Tester;
+
+/**
+ * Builder for test cases.
+ *
+ * Simplifies construction of test cases.
+ *
+ * Example:
+ * <code>
+ * TestBuilder b = new TestBuilder();
+ *
+ * Interface I = b.intf("I").build();
+ * ConcreteClazz C = b.clazz("C").implements(I).build();
+ *
+ * b.test().callSite(I, C, "hashCode","()I").returns(0).build();
+ *
+ * b.run();
+ * </code>
+ *
+ * produces
+ *
+ * <code>
+ * interface I {}
+ *
+ * class C implements I {}
+ *
+ * class Test1 {
+ *   public void test() {
+ *     I i = new C();
+ *     if (c.hashCode() != 0) {
+ *       throw new RuntimeException("Expected 0");
+ *     }
+ *   }
+ * }
+ * </code>
+ */
+public class TestBuilder {
+    // Class file major version
+    // Used for separate compilation scenarios
+    public final int minMajorVer;
+
+    // Additional access flags for all methods
+    public final int accFlags;
+
+    // Redefine classes as part of testing
+    public final boolean redefineClasses;
+
+    // Redefine classes using Retransformation API
+    public final boolean retransformClasses;
+
+    public final ExecutionMode executionMode;
+
+    // GeneratedTest counter which is used to name the tests.
+    private int testNo = 0;
+
+    // List of classes constructed for the testcase so far
+    private List<Clazz> elements = new ArrayList<>();
+    public List<Clazz> getElements() {
+        return new ArrayList<>(elements);
+    }
+
+    // List of tests constructed as part of the testcase
+    private List<Tester> tests = new ArrayList<>();
+
+    // Elements under construction
+    private Set<Builder<?>> underConstruction = new LinkedHashSet<>();
+
+    private DefMethTest testInstance;
+
+    TestBuilder(DefMethTest testInstance, int minMajorVer, int accFlags,
+                boolean redefineClasses, boolean retransformClasses, ExecutionMode executionMode) {
+        this.testInstance = testInstance;
+        this.minMajorVer = minMajorVer;
+        this.accFlags = accFlags;
+        this.redefineClasses = redefineClasses;
+        this.retransformClasses = retransformClasses;
+        this.executionMode = executionMode;
+    }
+
+    /**
+     * Factory method for Interface builder.
+     *
+     * @param name
+     * @return class builder
+     */
+    public InterfaceBuilder intf(String name) {
+        InterfaceBuilder b = new InterfaceBuilder(this).name(name);
+        underConstruction.add(b);
+        return b;
+    }
+
+    /**
+     * Factory method for Clazz builder.
+     *
+     * @param name
+     * @return class builder
+     */
+    public ConcreteClassBuilder clazz(String name) {
+        ConcreteClassBuilder b = new ConcreteClassBuilder(this).name(name).ver(minMajorVer);
+        underConstruction.add(b);
+        return b;
+    }
+
+    /**
+     * Factory method for Tester builder.
+     *
+     * @return test builder
+     */
+    public TesterBuilder test() {
+        TesterBuilder b = new TesterBuilder(++testNo, this);
+        underConstruction.add(b);
+        return b;
+    }
+
+    /**
+     * Find previously constructed class by it's name.
+     *
+     * The method is considered safe: if it fails to find a class, it throws
+     * IllegalArgumentException.
+     *
+     * @param name
+     * @return
+     */
+    public Clazz lookup(String name) {
+        for (Clazz clz : elements) {
+            if (clz.name().equals(name)) {
+                return clz;
+            }
+        }
+
+        throw new IllegalArgumentException("Unknown element: " + name);
+    }
+
+    /**
+     * Lazy binding of {@code Clazz} instance
+     *
+     * @param name
+     * @return
+     */
+    public ConcreteClass clazzByName(String name) {
+        return new ConcreteClassLazyAdapter(this, name);
+    }
+
+    /**
+     * Lazy binding of {@code Interface} instance
+     *
+     * @param name
+     * @return
+     */
+    public Interface intfByName(String name) {
+        return new InterfaceLazyAdapter(this, name);
+    }
+
+    /**
+     * Construct corresponding {@code Clazz} instance for a {@code Class}.
+     *
+     * @param cls
+     * @return
+     */
+    public Clazz toClazz(Class cls) {
+        String name = cls.getName();
+
+        if (hasElement(name)) {
+            return lookup(name);
+        } else {
+            return clazz(name).build();
+        }
+    }
+
+    /**
+     * Construct corresponding {@code ConcreteClass} instance for a {@code Class}.
+     *
+     * Throws {@code IllegalArgumentException} if {@code Class} can't be
+     * represented as {@code ConcreteClass}
+     *
+     * @param cls
+     * @return
+     */
+    public ConcreteClass toConcreteClass(Class cls) {
+        if (!cls.isInterface()) {
+            return (ConcreteClass)toClazz(cls);
+        } else {
+            throw new IllegalArgumentException(cls.getName());
+        }
+    }
+
+    /**
+     * Factory method for Method builder.
+     *
+     * @return  method builder
+     */
+    /* package-private */ MethodBuilder method() {
+        return new MethodBuilder(this);
+    }
+
+    /**
+     * Factory method for Data.DefaultMethod builder.
+     *
+     * @param name method name
+     * @return
+     */
+    public MethodBuilder defaultMethod(String name) {
+        return method().name(name).type(MethodType.DEFAULT);
+    }
+
+    /**
+     * Factory method for Data.AbstractMethod builder.
+     *
+     * @param name
+     * @return
+     */
+    public MethodBuilder abstractMethod(String name) {
+        return method().name(name).type(MethodType.ABSTRACT);
+    }
+
+    /**
+     * Factory method for Data.ConcreteMethod builder.
+     *
+     * @param name
+     * @return
+     */
+    public MethodBuilder concreteMethod(String name) {
+        return method().name(name).type(MethodType.CONCRETE);
+    }
+
+    /**
+     * Signal that {@code Builder<?>} instance won't be used anymore.
+     *
+     * @param builder
+     */
+    /* package-private */ void finishConstruction(Builder<?> builder) {
+        if (underConstruction.contains(builder)) {
+            underConstruction.remove(builder);
+        } else {
+            throw new IllegalStateException();
+        }
+    }
+
+    /**
+     * Register class with the test builder, so it'll be enumerated during
+     * hierarchy traversals (e.g. class file generation, hierarchy printing).
+     *
+     * @param clz
+     * @return
+     */
+    public TestBuilder register(Clazz clz) {
+        elements.add(clz);
+        return this;
+    }
+
+    /**
+     * Register class with the test builder as a test, so it'll be enumerated during
+     * hierarchy traversals and executed during test runs.
+     *
+     * @param test
+     * @return
+     */
+    public TestBuilder register(Tester test) {
+        tests.add(test);
+        return this;
+    }
+
+    /**
+     * Check whether a class with some name has been already constructed.
+     *
+     * @param name
+     * @return whether a class with the same name has been already created
+     */
+    /* package-private */ boolean hasElement(String name) {
+        for (Clazz clz : elements) {
+            if (clz.name().equals(name)) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Create all classes and return a class loader which can load them.
+     *
+     * @return class loader instance which loads all generated classes
+     */
+    public MemoryClassLoader build() {
+        Map<String,byte[]> classes = produce();
+
+        MemoryClassLoader cl = new MemoryClassLoader(classes);
+
+        return cl;
+    }
+
+    /**
+     * Produce class files for a set of {@code Clazz} instances.
+     *
+     * @return
+     */
+    public Map<String,byte[]> produce() {
+        if (!underConstruction.isEmpty()) {
+            throw new IllegalStateException("Some of the classes haven't been fully constructed");
+        }
+
+        List<Clazz> items = new ArrayList<>();
+        items.addAll(elements);
+        items.addAll(tests);
+
+        return produce(52, items);
+    }
+
+    /**
+     * Produce class files for {@Clazz} instances from {@code elements}.
+     *
+     * @param defaultMajorVer
+     * @param elements
+     * @return
+     */
+    private Map<String,byte[]> produce(int defaultMajorVer, List<? extends Clazz> elements) {
+        LinkedHashMap<String,byte[]> classes = new LinkedHashMap<>();
+
+        if (Constants.PRINT_TESTS) {
+            System.out.printf("\nTEST: %s\n\n", Util.getTestName());
+        }
+
+        for (Clazz clazz : elements) {
+            if (Constants.PRINT_TESTS) {
+                System.out.println(Printer.print(clazz));
+            }
+
+            if (clazz instanceof Tester &&
+                (executionMode == ExecutionMode.REFLECTION ||
+                 executionMode == ExecutionMode.INVOKE_WITH_ARGS)) {
+                // No need to generate testers for reflection cases
+                continue;
+            }
+
+            Pair<String,byte[]> p = produceClassFile(defaultMajorVer, executionMode, clazz);
+            classes.put(p.first, p.second);
+        }
+
+        if (Constants.PRINT_ASSEMBLY) {
+            System.out.println("\nDISASSEMBLY");
+
+            for (byte[] cf : classes.values()) {
+                Util.printClassFile(cf);
+                System.out.println();
+            }
+        }
+
+        if (Constants.ASMIFY) {
+            System.out.println("\nASM");
+
+            for (byte[] cf : classes.values()) {
+                Util.asmifyClassFile(cf);
+                System.out.println();
+            }
+        }
+
+        if (Constants.DUMP_CLASSES) {
+            try {
+                File dumpDir = new File("DUMP_CLASS_FILES", testInstance.shortTestName);
+                if (!dumpDir.exists()) {
+                    dumpDir.mkdirs();
+                }
+
+                for (Map.Entry<String,byte[]> entry : classes.entrySet()) {
+                    String name = entry.getKey();
+                    byte[] classFile = entry.getValue();
+                    File dumpFile = new File(dumpDir, name+".class");
+                    dumpFile.getParentFile().mkdirs();
+                    try (FileOutputStream file = new FileOutputStream(dumpFile)) {
+                        file.write(classFile);
+                    }
+                }
+            } catch (Exception e) {
+                throw new Error(e);
+            }
+        }
+
+        return classes;
+    }
+
+    /**
+     * Produce class file from {@code Clazz} instance.
+     *
+     * @param defaultMajorVer
+     * @param clazz
+     * @return
+     */
+    public static Pair<String,byte[]> produceClassFile(int defaultMajorVer,
+                                                       ExecutionMode execMode, Clazz clazz) {
+        int majorVer = clazz.ver() != 0 ? clazz.ver() : defaultMajorVer;
+
+        ClassFileGenerator cfg = new ClassFileGenerator(majorVer, ACC_PUBLIC, execMode);
+        clazz.visit(cfg);
+
+        byte[] classFile = cfg.getClassFile();
+
+        return Pair.of(clazz.name(), classFile);
+    }
+
+    /**
+     * Make all preparations for execution.
+     *
+     * @return
+     */
+    public TestExecutor prepare() {
+        return prepare(build());
+    }
+
+    private TestExecutor prepare(MemoryClassLoader cl) {
+        if (redefineClasses) {
+            try {
+                cl.modifyClasses(/* retransform = */ false);
+            } catch (TestFailure e) {
+                testInstance.getLog().info(e.getMessage());
+                throw e;
+            }
+        }
+
+        if (retransformClasses) {
+            try {
+                cl.modifyClasses(/* redefine = */ true);
+            } catch (TestFailure e) {
+                testInstance.getLog().info(e.getMessage());
+                throw e;
+            }
+        }
+
+        switch (executionMode) {
+            case DIRECT:
+            case INDY:
+            case INVOKE_EXACT:
+            case INVOKE_GENERIC:
+                // Run tests using direct invocation methods
+                return new GeneratedTest(cl, testInstance, tests);
+            case REFLECTION:
+                // Use reflection for testing
+                return new ReflectionTest(cl, this, testInstance, tests);
+            case INVOKE_WITH_ARGS:
+                return new MHInvokeWithArgsTest(cl, testInstance, tests);
+            default:
+                throw new Error("Unknown execution mode: " + executionMode);
+        }
+    }
+
+    public interface LoaderConstructor {
+        public MemoryClassLoader construct(Map< String,byte[]> classFiles);
+    }
+
+    /**
+     * Customize class loader construction.
+     *
+     * @param constructLoader
+     * @return
+     */
+    public TestExecutor prepare(LoaderConstructor constructLoader) {
+        return prepare(constructLoader.construct(produce()));
+    }
+
+    /**
+     * Construct a test with all necessary classes and execute all tests
+     * from it.
+     */
+    public void run() {
+        if (tests.isEmpty()) {
+            throw new IllegalStateException("No tests to run");
+        }
+
+        TestExecutor executor = prepare();
+
+        List<Pair<Tester,Throwable>> errors = executor.run();
+
+        if (!errors.isEmpty()) {
+            throw new DefMethTestFailure(errors);
+        }
+
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/TestBuilderFactory.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.builder;
+
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.ExecutionMode;
+import vm.share.options.Option;
+
+/**
+ * Factory for TestBuilder instances.
+ *
+ * Parameterizes TestBuilder with some specific configuration properties.
+ * It is used to run the very same set of tests in different configurations.
+ * TestBuilderFactory.getBuilder() is called from individual tests to get
+ * TestBuilder instance for test construction.
+ */
+public class TestBuilderFactory {
+    @Option(name="ver", description="class file major version", default_value="52")
+    private int minMajorVer;
+
+    @Option(name="flags", description="additional access flags on default methods", default_value="0")
+    private int accFlags;
+
+    @Option(name="redefine", description="redefine classes during execution", default_value="false")
+    private boolean redefineClasses;
+
+    @Option(name="retransform", description="retransform classes during execution", default_value="false")
+    private boolean retransformClasses;
+
+    @Option(name="execMode", description="override execution mode with a concrete mode (DIRECT, REFLECTION, INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY)", default_value="")
+    private String modeName;
+
+    private final DefMethTest testInstance;
+
+    // Default construction is used when the instance will be configured
+    // by OptionSupport.setup*
+    public TestBuilderFactory(DefMethTest testInstance) {
+        this.testInstance = testInstance;
+    }
+
+    public TestBuilderFactory(DefMethTest testInstance, int minMajorVer,
+                              int accFlags, boolean redefineClasses, boolean retransformClasses,
+                              String modeName) {
+        this.testInstance = testInstance;
+        this.minMajorVer = minMajorVer;
+        this.accFlags = accFlags;
+        this.redefineClasses = redefineClasses;
+        this.retransformClasses = retransformClasses;
+        this.modeName = modeName;
+    }
+
+    public TestBuilder getBuilder() {
+        ExecutionMode mode = (!"".equals(modeName) ? ExecutionMode.valueOf(modeName) : null);
+        return new TestBuilder(testInstance, minMajorVer, accFlags, redefineClasses, retransformClasses, mode);
+    }
+
+    public int getVer() { return minMajorVer; }
+    public void setVer(int x) { minMajorVer = x; }
+
+    public int getFlags() { return accFlags; }
+    public void setFlags(int x) { accFlags = x; }
+
+    public boolean isRedefineClasses() { return redefineClasses; }
+    public void setRedefineClasses(boolean x) { redefineClasses = x; }
+
+    public boolean isRetransformClasses() { return retransformClasses; }
+    public void setRetransformClasses(boolean x) { retransformClasses = x; }
+
+    public String getExecutionMode() { return (!"".equals(modeName) ? modeName : null); }
+    public void setExecutionMode(String x) { modeName = x; }
+
+    @Override
+    public String toString() {
+        return String.format("{ver=%d; flags=%d; redefine=%b; execMode=%s}",
+                minMajorVer, accFlags, redefineClasses, modeName);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/TestExecutor.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.builder;
+
+import java.util.List;
+import nsk.share.Pair;
+import vm.runtime.defmeth.shared.data.Tester;
+
+
+public interface TestExecutor {
+
+    public ClassLoader getLoader();
+
+    public List<Pair<Tester,Throwable>> run();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/TesterBuilder.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,286 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.builder;
+
+import nsk.share.Pair;
+import jdk.internal.org.objectweb.asm.Opcodes;
+import vm.runtime.defmeth.shared.Util;
+import vm.runtime.defmeth.shared.data.Clazz;
+import vm.runtime.defmeth.shared.data.ConcreteClass;
+import vm.runtime.defmeth.shared.data.Tester;
+import vm.runtime.defmeth.shared.data.method.Method;
+import vm.runtime.defmeth.shared.data.method.param.IntParam;
+import vm.runtime.defmeth.shared.data.method.param.Param;
+import vm.runtime.defmeth.shared.data.method.param.StringParam;
+import vm.runtime.defmeth.shared.data.method.result.IntResult;
+import vm.runtime.defmeth.shared.data.method.result.Result;
+import vm.runtime.defmeth.shared.data.method.result.ResultIgnore;
+import vm.runtime.defmeth.shared.data.method.result.ThrowExResult;
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+import vm.runtime.defmeth.shared.data.Interface;
+import vm.runtime.defmeth.shared.data.method.body.CallMethod;
+import vm.runtime.defmeth.shared.data.method.body.CallMethod.Invoke;
+
+/**
+ * Builder for data.Tester instances.
+ *
+ * Simplifies single test construction during test case preparation.
+ * Test scenario is the following: call some method and check it's result.
+ */
+public class TesterBuilder implements Builder<Tester> {
+    // Test number
+    private final int id;
+
+    // Test class name
+    private String name;
+
+    // Static receiver of the call
+    private Clazz staticReceiver;
+
+    // Dynamic receiver of the call
+    // Null, if calling static method.
+    private ConcreteClass dynamicReceiver;
+
+    // Method to call: name + erased signature
+    private Method m;
+
+    // Expected result of method invocation
+    private Result result;
+
+    // Parameters for method invocation
+    private Param[] params = new Param[0];
+
+    // Enclosing test builder
+    private TestBuilder builder;
+
+    // private method test
+    private boolean testPrivateMethod;
+
+    // Type of constant pool entry used at call site
+    private CallMethod.IndexbyteOp cpEntryType = CallMethod.IndexbyteOp.CALLSITE; // Callee-specific by default
+
+    /* package-private */ TesterBuilder(int id, TestBuilder builder) {
+        this.id = id;
+        this.builder = builder;
+        this.testPrivateMethod = false;
+    }
+
+    public TesterBuilder name(String name) {
+        this.name = name;
+        return this;
+    }
+
+    private TesterBuilder static_(Clazz receiver) {
+        staticReceiver = receiver;
+        return this;
+    }
+
+    private TesterBuilder dynamic(ConcreteClass receiver) {
+        dynamicReceiver = receiver;
+        return this;
+    }
+
+    public TesterBuilder callee(Method m) {
+        this.m = m;
+        return this;
+    }
+
+    public TesterBuilder callee(String name, String desc) {
+        return callee(
+                builder.method().name(name).desc(desc).build());
+    }
+
+    public TesterBuilder callee(String name, String desc, int acc) {
+        return callee(
+                builder.method().name(name).desc(desc).flags(acc).build());
+    }
+
+    public TesterBuilder cpEntryType(CallMethod.IndexbyteOp type) {
+        cpEntryType = type;
+        return this;
+    }
+
+    public TesterBuilder callSite(Clazz staticReceiver, ConcreteClass receiver,
+            String methodName, String methodDesc) {
+        return static_(staticReceiver)
+                .dynamic(receiver)
+                .callee(methodName, methodDesc);
+    }
+
+    public TesterBuilder callSite(ConcreteClass receiver,
+            String methodName, String methodDesc) {
+        return dynamic(receiver).callee(methodName, methodDesc);
+    }
+
+    public TesterBuilder staticCallSite(Clazz I, String methodName, String methodDesc) {
+        return static_(I).callee(methodName, methodDesc, ACC_STATIC);
+    }
+
+    public TesterBuilder privateCallSite(Clazz staticReceiver, ConcreteClass receiver,
+            String methodName, String methodDesc) {
+        this.testPrivateMethod = true;
+        return static_(staticReceiver)
+                .dynamic(receiver)
+                .callee(methodName, methodDesc);
+    }
+
+    public TesterBuilder interfaceCallSite(Clazz staticReceiver, ConcreteClass receiver,
+            String methodName, String methodDesc) {
+        return static_(staticReceiver)
+                .dynamic(receiver)
+                .callee(methodName, methodDesc, ACC_INTERFACE)
+                .cpEntryType(CallMethod.IndexbyteOp.INTERFACEMETHODREF);
+    }
+
+    public TesterBuilder params(int... intParams) {
+        this.params = new Param[intParams.length];
+        for (int i = 0; i < intParams.length; i++) {
+            this.params[i] = new IntParam(intParams[i]);
+        }
+
+        return this;
+    }
+
+    public TesterBuilder params(String... strParams) {
+        this.params = new Param[strParams.length];
+        for (int i = 0; i < strParams.length; i++) {
+            this.params[i] = new StringParam(strParams[i]);
+        }
+
+        return this;
+    }
+
+    public TesterBuilder params(Param... params) {
+        this.params = params;
+        return this;
+    }
+
+    public TesterBuilder result(Result result) {
+        this.result = result;
+        return this;
+    }
+
+    public TesterBuilder ignoreResult() { return result(new ResultIgnore());}
+    public TesterBuilder returns(int i)     { return result(new IntResult(i)); }
+    public TesterBuilder throws_(Clazz clz) {
+        return result(new ThrowExResult(clz, false, null));
+    }
+
+    public TesterBuilder throws_(Class<? extends Throwable> exc) {
+        return result(new ThrowExResult(builder.toClazz(exc), false, null));
+    }
+
+    public TesterBuilder throwsExact(Clazz clz) {
+        return result(new ThrowExResult(clz, true, null));
+    }
+
+    public TesterBuilder throwsExact(Class<? extends Throwable> exc) {
+            return result(new ThrowExResult(builder.toClazz(exc), true, null));
+    }
+
+    public TesterBuilder succeeds() {
+        return result(new ResultIgnore());
+    }
+
+    public TesterBuilder loadClass(Clazz clz) {
+        return static_(builder.clazz("java.lang.Class").build())
+                .callee("forName", "(Ljava/lang/String;)Ljava/lang/Class;", ACC_STATIC)
+                .params(clz.name());
+    }
+
+    /**
+     * Choose right instruction for a call depending on the callee type.
+     *
+     * @return
+     */
+    private CallMethod.Invoke getCallInsn() {
+        if ((m.acc() & Opcodes.ACC_STATIC) != 0) {
+            return Invoke.STATIC;
+        } else {
+            if (staticReceiver instanceof Interface) {
+                return Invoke.INTERFACE;
+            } else if (staticReceiver instanceof ConcreteClass) {
+                if ((m.acc() & Opcodes.ACC_INTERFACE) == 0) {
+                    return Invoke.VIRTUAL;
+                } else {
+                    return Invoke.INTERFACE;
+                }
+            } else {
+                throw new UnsupportedOperationException("Can't detect invoke instruction");
+            }
+        }
+    }
+
+    @Override
+    public Tester build() {
+        if (staticReceiver == null) {
+            throw new IllegalStateException();
+        }
+
+        if (m == null) {
+            throw new IllegalStateException();
+        }
+
+        if (result == null) {
+            throw new IllegalStateException();
+        }
+
+        if (params.length == 0) {
+            params =
+                Util.getDefaultValues(
+                    Util.parseDesc(m.desc()).first);
+        }
+
+        if (name == null) {
+            name = String.format("Test%d_%s_%s_%s", id,
+                                 staticReceiver != null ? staticReceiver.getShortName() : "",
+                                 dynamicReceiver != null ? dynamicReceiver.getShortName() : "",
+                                 m.name());
+        }
+
+        Invoke callInsn = getCallInsn();
+
+        Pair<String[],String> calleeDetails = Util.parseDesc(m.desc());
+        String returnType = calleeDetails.second;
+
+        CallMethod call = new CallMethod(callInsn, staticReceiver, dynamicReceiver,
+                                        m.name(), m.desc(), params,
+                                        returnType, false, cpEntryType);
+
+        Tester tester = new Tester(name, call, result, testPrivateMethod);
+
+        builder.register(tester);
+
+        // Notify test builder that test construction is finished
+        builder.finishConstruction(this);
+
+        return tester;
+    }
+
+    @Override
+    public TestBuilder done() {
+        build();
+        return builder;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/AbstractVisitor.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,170 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+import vm.runtime.defmeth.shared.data.method.AbstractMethod;
+import vm.runtime.defmeth.shared.data.method.ConcreteMethod;
+import vm.runtime.defmeth.shared.data.method.DefaultMethod;
+import vm.runtime.defmeth.shared.data.method.Method;
+import vm.runtime.defmeth.shared.data.method.body.CallMethod;
+import vm.runtime.defmeth.shared.data.method.body.EmptyBody;
+import vm.runtime.defmeth.shared.data.method.body.ReturnIntBody;
+import vm.runtime.defmeth.shared.data.method.body.ReturnNewInstanceBody;
+import vm.runtime.defmeth.shared.data.method.body.ReturnNullBody;
+import vm.runtime.defmeth.shared.data.method.body.ThrowExBody;
+import vm.runtime.defmeth.shared.data.method.param.DoubleParam;
+import vm.runtime.defmeth.shared.data.method.param.FloatParam;
+import vm.runtime.defmeth.shared.data.method.param.IntParam;
+import vm.runtime.defmeth.shared.data.method.param.LongParam;
+import vm.runtime.defmeth.shared.data.method.param.NewInstanceParam;
+import vm.runtime.defmeth.shared.data.method.param.StringParam;
+import vm.runtime.defmeth.shared.data.method.result.IntResult;
+import vm.runtime.defmeth.shared.data.method.result.ThrowExResult;
+
+/**
+ * {@code AbstactVisitor} provides implementation for all methods from {@code Visitor},
+ * which throws {@code UnsupportedOperationException}. It is useful
+ * for custom visitors, which expect only a subset of events to occur.
+ */
+public class AbstractVisitor implements Visitor {
+    @Override
+    public void visitClass(Clazz clz) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitConcreteClass(ConcreteClass clz) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitInterface(Interface intf) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitMethod(Method m) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitConcreteMethod(ConcreteMethod m) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitAbstractMethod(AbstractMethod m) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitDefaultMethod(DefaultMethod m) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitTester(Tester t) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitThrowExBody(ThrowExBody body) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitReturnIntBody(ReturnIntBody body) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitReturnNullBody(ReturnNullBody body) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitEmptyBody(EmptyBody body) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitCallMethod(CallMethod call) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitReturnNewInstanceBody(ReturnNewInstanceBody body) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitResultInt(IntResult res) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitResultThrowExc(ThrowExResult res) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitResultIgnore() {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitParamInt(IntParam i) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitParamLong(LongParam l) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitParamFloat(FloatParam f) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitParamDouble(DoubleParam d) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitParamString(StringParam str) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitParamNewInstance(NewInstanceParam type) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitParamNull() {
+        throw new UnsupportedOperationException();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/Clazz.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+import vm.runtime.defmeth.shared.data.method.Method;
+
+/**
+ * Represents Java classes (interfaces & concrete classes).
+ */
+public interface Clazz extends Element {
+
+    public String name();
+
+    public int ver();
+
+    public Method[] methods();
+
+    public int flags();
+
+    public String sig();
+
+    /**
+     * Class name in VM-internal format
+     * (e.g. java/lang/Object and not Ljava/lang/Object;)
+     */
+    public String intlName();
+
+    public String getShortName();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/ClazzImpl.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+import vm.runtime.defmeth.shared.data.method.Method;
+
+public abstract class ClazzImpl implements Clazz {
+
+    /** Fixed major version of class file if needed.
+     * "0" means default value (depends on the context). */
+    int ver = 0; // class file major version
+
+    String name;
+
+    /** Access flags of the class.
+     * "-1" means default (depends on the context). */
+    int flags = -1;
+
+    Method[] methods;
+
+    /** Language-level signature of the class.
+     * Represents information about generic parameters */
+    String sig;
+
+    ClazzImpl(String name, int ver, int flags, String sig, Method[] methods) {
+        this.name = name;
+        this.ver = ver;
+        this.flags = flags;
+        this.sig = sig;
+        this.methods = methods;
+    }
+
+    public String name() {
+        return name;
+    }
+
+    public int ver() {
+        return ver;
+    }
+
+    public Method[] methods() {
+        return methods;
+    }
+
+    public int flags() {
+        return flags;
+    }
+
+    public String sig() {
+        return sig;
+    }
+
+    /** Class name in VM-internal format */
+    public String intlName() {
+        return name.replaceAll("\\.","/");
+    }
+
+    public String getShortName() {
+        return name.replaceAll(".*\\.","");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/ClazzLazyAdapter.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+import vm.runtime.defmeth.shared.data.method.Method;
+
+/**
+ * Wrapper around some {@link Clazz} instance. It delegates all calls
+ * to underlying instance. Lazy resolution of target instance by it's name
+ * allows to delay resolution till runtime and "tie-the-knot" in recursive
+ * hierarchies.
+ */
+public class ClazzLazyAdapter implements Clazz {
+
+    private final TestBuilder builder;
+    private final String name;
+
+    private Clazz target;
+
+    public ClazzLazyAdapter(TestBuilder builder, String name) {
+        this.builder = builder;
+        this.name = name;
+    }
+
+    private Clazz delegate() {
+        if (target == null) {
+            target = builder.lookup(name);
+        }
+
+        return target;
+    }
+
+    @Override
+    public String name() {
+        return delegate().name();
+    }
+
+    @Override
+    public int ver() {
+        return delegate().ver();
+    }
+
+    @Override
+    public Method[] methods() {
+        return delegate().methods();
+    }
+
+    @Override
+    public int flags() {
+        return delegate().flags();
+    }
+
+    @Override
+    public String sig() {
+        return delegate().sig();
+    }
+
+    @Override
+    public String intlName() {
+        return delegate().intlName();
+    }
+
+    @Override
+    public String getShortName() {
+        return delegate().getShortName();
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        delegate().visit(v);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/ConcreteClass.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+import jdk.internal.org.objectweb.asm.Opcodes;
+import vm.runtime.defmeth.shared.data.method.Method;
+
+/**
+ * Represents concrete class (not interface).
+ */
+public interface ConcreteClass extends Clazz {
+    static public final ConcreteClass OBJECT =
+            new ConcreteClassImpl("java.lang.Object", Opcodes.ACC_PUBLIC, 52, null, null, new Interface[0]);
+
+    public ConcreteClass parent();
+
+    public Interface[] interfaces();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/ConcreteClassImpl.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+import vm.runtime.defmeth.shared.data.method.Method;
+
+/**
+ * Represents "concrete" class (not interface).
+ */
+public class ConcreteClassImpl extends ClazzImpl implements ConcreteClass {
+
+    ConcreteClass parent;
+    Interface[] interfaces;
+
+    public ConcreteClassImpl(String name, int flags, int ver, String sig, ConcreteClass parent,
+            Interface[] interfaces, Method... methods)
+    {
+        super(name, ver, flags, sig, methods);
+        this.parent = parent;
+        this.interfaces = interfaces;
+    }
+
+    @Override
+    public ConcreteClass parent() {
+        return parent;
+    }
+
+    @Override
+    public Interface[] interfaces() {
+        return interfaces;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitConcreteClass(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/ConcreteClassLazyAdapter.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+
+/**
+ * Wrapper around some ConcreteClass instance. It delegates all calls to
+ * underlying instance. Lazy resolution of a target instance by it's name
+ * allows to delay resolution till runtime and "tie-the-knot" in recursive
+ * hierarchies.
+ */
+public class ConcreteClassLazyAdapter extends ClazzLazyAdapter implements ConcreteClass {
+    private final TestBuilder builder;
+    private final String name;
+
+    private ConcreteClass target;
+
+    public ConcreteClassLazyAdapter(TestBuilder builder, String name) {
+        super(builder, name);
+
+        this.builder = builder;
+        this.name = name;
+    }
+
+    private ConcreteClass delegate() {
+        if (target == null) {
+            target = (ConcreteClass)builder.lookup(name);
+        }
+
+        return target;
+    }
+
+    @Override
+    public ConcreteClass parent() {
+        return delegate().parent();
+    }
+
+    @Override
+    public Interface[] interfaces() {
+        return delegate().interfaces();
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        delegate().visit(v);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/Element.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+/**
+ * Root of hierarchy.
+ */
+public interface Element {
+
+    void visit(Visitor v);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/Interface.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+/**
+ * Represents Java interface.
+ */
+public interface Interface extends Clazz {
+
+    public Interface[] parents();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/InterfaceImpl.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+import vm.runtime.defmeth.shared.data.method.Method;
+
+/**
+ * Represents Java interface class.
+ */
+public class InterfaceImpl extends ClazzImpl implements Interface {
+    Interface[] parents; // superinterfaces
+
+    public InterfaceImpl(int flags, String name, int ver, String sig, Interface[] parents, Method... methods) {
+        super(name, ver, flags, sig, methods);
+        this.parents = parents;
+    }
+
+    public Interface[] parents() {
+        return parents;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitInterface(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/InterfaceLazyAdapter.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+
+/**
+ * Wrapper around some Interface instance. It delegates all calls to
+ * underlying instance. Lazy resolution of a target instance by it's name
+ * allows to delay resolution till runtime and "tie-the-knot" in recursive
+ * hierarchies.
+ */
+public class InterfaceLazyAdapter extends ClazzLazyAdapter implements Interface {
+
+    private final TestBuilder builder;
+    private final String name;
+
+    private Interface target;
+
+    public InterfaceLazyAdapter(TestBuilder builder, String name) {
+        super(builder, name);
+
+        this.builder = builder;
+        this.name = name;
+    }
+
+    private Interface delegate() {
+        if (target == null) {
+            target = (Interface)builder.lookup(name);
+        }
+
+        return target;
+    }
+
+    @Override
+    public Interface[] parents() {
+        return delegate().parents();
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        delegate().visit(v);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/ParamValueExtractor.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+import vm.runtime.defmeth.shared.data.AbstractVisitor;
+import vm.runtime.defmeth.shared.data.method.param.*;
+import vm.runtime.defmeth.shared.executor.AbstractReflectionTest;
+
+/**
+ * Extracts a value from Param object.
+ * It is used when method is invoked using Reflection API
+ * or through MethodHandle.invokeWithArguments.
+ */
+public class ParamValueExtractor extends AbstractVisitor {
+    private Object value;
+    private AbstractReflectionTest methodInvokeTest;
+
+    public Object value() {
+        param.visit(this);
+        return value;
+    }
+
+    private Param param;
+    public ParamValueExtractor(AbstractReflectionTest methodInvokeTest, Param param) {
+        this.methodInvokeTest = methodInvokeTest;
+        this.param = param; }
+
+    @Override public void visitParamInt(IntParam i) { value = i.value(); }
+    @Override public void visitParamLong(LongParam l) { value = l.value(); }
+    @Override public void visitParamFloat(FloatParam f) { value = f.value(); }
+    @Override public void visitParamDouble(DoubleParam d) { value = d.value(); }
+    @Override public void visitParamString(StringParam str) { value = str.value(); }
+    @Override public void visitParamNull() { value = null; }
+    @Override public void visitParamNewInstance(NewInstanceParam type) {
+        try {
+            value = methodInvokeTest.resolve(type.clazz()).newInstance();
+        } catch (InstantiationException | IllegalAccessException e) {
+            throw new Error(e);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/Tester.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+import vm.runtime.defmeth.shared.data.method.Method;
+import vm.runtime.defmeth.shared.data.method.result.Result;
+import vm.runtime.defmeth.shared.data.method.body.CallMethod;
+
+/**
+ * Represents a single test assertion checker.
+ * Normally, any test contains multiple {@code Tester} instances.
+ */
+public class Tester extends ClazzImpl {
+    private final CallMethod call;
+    private final Result result;
+    private final boolean testPrivateMethod;
+
+    public Tester(String name, CallMethod call, Result result) {
+        super(name, 0, 0, null, new Method[0]);
+        this.call = call;
+        this.result = result;
+        this.testPrivateMethod = false;
+    }
+
+    public Tester(String name, CallMethod call, Result result, boolean testPrivateMethod) {
+        super(name, 0, 0, null, new Method[0]);
+        this.call = call;
+        this.result = result;
+        this.testPrivateMethod = testPrivateMethod;
+    }
+
+    public CallMethod getCall() {
+        return call;
+    }
+
+    public Result getResult() {
+        return result;
+    }
+
+    public boolean getTestPrivateMethod() {
+        return testPrivateMethod;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitTester(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/Visitor.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data;
+
+import vm.runtime.defmeth.shared.data.method.body.ReturnNewInstanceBody;
+import vm.runtime.defmeth.shared.data.method.body.ReturnNullBody;
+import vm.runtime.defmeth.shared.data.method.param.NewInstanceParam;
+import vm.runtime.defmeth.shared.data.method.param.LongParam;
+import vm.runtime.defmeth.shared.data.method.result.IntResult;
+import vm.runtime.defmeth.shared.data.method.param.IntParam;
+import vm.runtime.defmeth.shared.data.method.param.FloatParam;
+import vm.runtime.defmeth.shared.data.method.body.EmptyBody;
+import vm.runtime.defmeth.shared.data.method.param.DoubleParam;
+import vm.runtime.defmeth.shared.data.method.DefaultMethod;
+import vm.runtime.defmeth.shared.data.method.ConcreteMethod;
+import vm.runtime.defmeth.shared.data.method.body.CallMethod;
+import vm.runtime.defmeth.shared.data.method.AbstractMethod;
+import vm.runtime.defmeth.shared.data.method.Method;
+import vm.runtime.defmeth.shared.data.method.body.ReturnIntBody;
+import vm.runtime.defmeth.shared.data.method.body.ThrowExBody;
+import vm.runtime.defmeth.shared.data.method.result.ThrowExResult;
+import vm.runtime.defmeth.shared.data.method.param.StringParam;
+import vm.runtime.defmeth.shared.data.Clazz;
+import vm.runtime.defmeth.shared.data.Interface;
+import vm.runtime.defmeth.shared.data.*;
+
+/**
+ * Visitor for vm.runtime.defmeth.shared.data.* class hierarchy.
+ */
+public interface Visitor {
+
+    // extends Clazz
+    public void visitClass        (        Clazz  clz);
+    public void visitConcreteClass(ConcreteClass  clz);
+    public void visitInterface    (    Interface intf);
+
+    // extends Method
+    public void visitMethod        (        Method m);
+    public void visitConcreteMethod(ConcreteMethod m);
+    public void visitAbstractMethod(AbstractMethod m);
+    public void visitDefaultMethod ( DefaultMethod m);
+
+    public void visitTester(                Tester t);
+
+    // implements MethodBody
+    public void visitThrowExBody          (          ThrowExBody body);
+    public void visitReturnIntBody        (        ReturnIntBody body);
+    public void visitReturnNullBody       (       ReturnNullBody body);
+    public void visitEmptyBody            (            EmptyBody body);
+    public void visitCallMethod           (           CallMethod call);
+    public void visitReturnNewInstanceBody(ReturnNewInstanceBody body);
+
+    // implements Result
+    public void visitResultInt     (    IntResult res);
+    public void visitResultThrowExc(ThrowExResult res);
+    public void visitResultIgnore  ();
+
+    // implements Param
+    public void visitParamInt        (        IntParam i);
+    public void visitParamLong       (       LongParam l);
+    public void visitParamFloat      (      FloatParam f);
+    public void visitParamDouble     (     DoubleParam d);
+    public void visitParamString     (     StringParam  str);
+    public void visitParamNewInstance(NewInstanceParam type);
+    public void visitParamNull       ();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/AbstractMethod.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method;
+
+import jdk.internal.org.objectweb.asm.Opcodes;
+import vm.runtime.defmeth.shared.Printer;
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents abstract method (method w/o code) in both concrete classes
+ * and interfaces.
+ */
+public class AbstractMethod extends Method {
+
+    public AbstractMethod(int acc, String name, String desc, String sig) {
+        super(Opcodes.ACC_ABSTRACT | acc, name, desc, sig);
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitAbstractMethod(this);
+    }
+
+    @Override
+    public String toString() {
+        return Printer.print(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/ConcreteMethod.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method;
+
+import vm.runtime.defmeth.shared.Printer;
+import vm.runtime.defmeth.shared.data.method.body.MethodBody;
+import jdk.internal.org.objectweb.asm.Opcodes;
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents non-abstract method in concrete class.
+ */
+public class ConcreteMethod extends Method {
+    MethodBody body;
+
+    private ConcreteMethod(String name, String desc, MethodBody body) {
+        this(Opcodes.ACC_PUBLIC, name, desc, null, body);
+    }
+
+    public ConcreteMethod(int acc, String name, String desc, String sig, MethodBody body) {
+        super(acc, name, desc, sig);
+        this.body = body;
+    }
+
+    public MethodBody body() {
+        return body;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitConcreteMethod(this);
+    }
+
+    @Override
+    public String toString() {
+        return Printer.print(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/DefaultMethod.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method;
+
+import vm.runtime.defmeth.shared.Printer;
+import vm.runtime.defmeth.shared.data.method.body.MethodBody;
+import jdk.internal.org.objectweb.asm.Opcodes;
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents default method - non-abstract method in an interface.
+ */
+public class DefaultMethod extends Method {
+    MethodBody body; // Only in interface
+
+    public DefaultMethod(int acc, String name, String desc, String sig, MethodBody body) {
+        super(acc, name, desc, sig);
+        this.body = body;
+    }
+
+    private DefaultMethod(String name, String desc, String sig, MethodBody body) {
+        super(Opcodes.ACC_PUBLIC, name, desc, sig);
+        this.body = body;
+    }
+
+    public MethodBody body() {
+        return body;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitDefaultMethod(this);
+    }
+
+    @Override
+    public String toString() {
+        return Printer.print(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/Method.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+import vm.runtime.defmeth.shared.data.Element;
+
+/*
+ * Represents a method w/o a link to any class.
+ */
+public class Method implements Element {
+    protected int acc;
+    protected String name;
+    protected String desc;
+    protected String sig;
+
+    public Method(int acc, String name, String desc, String sig) {
+        this.acc = acc;
+        this.name = name;
+        this.desc = desc;
+        this.sig = sig;
+    }
+
+    public int acc() {
+        return acc;
+    }
+
+    public String name() {
+        return name;
+    }
+
+    public String desc() {
+        return desc;
+    }
+
+    public String sig() {
+        return sig;
+    }
+
+    public String[] getExceptions() {
+        return new String[0]; // No exceptions supported yet
+    }
+
+    public boolean hasNonVoidReturn() {
+        return !desc.matches(".*V");
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitMethod(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/body/CallMethod.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,178 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.body;
+
+import vm.runtime.defmeth.shared.data.method.param.Param;
+import jdk.internal.org.objectweb.asm.Opcodes;
+import vm.runtime.defmeth.shared.data.Visitor;
+import vm.runtime.defmeth.shared.data.Clazz;
+import vm.runtime.defmeth.shared.data.Interface;
+
+/**
+ * Represents arbitrary method call (invoke*).
+ */
+public class CallMethod implements MethodBody {
+
+    /** Invocation byte code instruction */
+    public static enum Invoke {
+        VIRTUAL(   Opcodes.INVOKEVIRTUAL,   "INVOKEVIRTUAL",   5),
+        INTERFACE( Opcodes.INVOKEINTERFACE, "INVOKEINTERFACE", 9),
+        SPECIAL(   Opcodes.INVOKESPECIAL,   "INVOKESPECIAL",   7),
+        STATIC(    Opcodes.INVOKESTATIC,    "INVOKESTATIC",    6);
+
+        private final int opcode;
+        private final String name;
+
+        // Kind  Description           Interpretation
+        //    1   REF_getField,         getfield C.f:T
+        //    2   REF_getStatic         getstatic C.f:T
+        //    3   REF_putField          putfield C.f:T
+        //    4   REF_putStatic         putstatic C.f:T
+        //    5   REF_invokeVirtual     invokevirtual C.m:(A*)T
+        //    6   REF_invokeStatic      invokestatic C.m:(A*)T
+        //    7   REF_invokeSpecial     invokespecial C.m:(A*)T
+        //    8   REF_newInvokeSpecial  new C; dup; invokespecial C.<init>:(A*)void
+        //    9   REF_invokeInterface   invokeinterface C.m:(A*)T
+        private final int tag;
+
+        Invoke(int opcode, String name, int tag) {
+            this.opcode = opcode;
+            this.name = name;
+            this.tag = tag;
+        }
+
+        public int opcode() {
+            return opcode;
+        }
+
+        @Override
+        public String toString() {
+            return name;
+        }
+
+        public int tag() {
+            return tag;
+        }
+    }
+
+    /** At callsite direct visitMethodInsn() to issue a CONSTANT_Methodref,
+        a CONSTANT_InterfaceMethodref or let it be determined at the
+        callsite if the callee is an instance of an Interface */
+    public static enum IndexbyteOp {
+        METHODREF,
+        INTERFACEMETHODREF,
+        CALLSITE
+    }
+
+    /** Invoke instruction which should be used for the call */
+    final Invoke invokeInsn;
+
+    /** Static receiver class */
+    final Clazz staticClass;
+
+    /** Dynamic receiver class */
+    final Clazz receiverClass;
+
+    /** Name of the method to be invoked*/
+    final String methodName;
+
+    /** Descriptor of the method to be invoked */
+    final String methodDesc;
+
+    /** Parameter values */
+    final Param[] params;
+
+    /** Name of method's return type */
+    final String returnType;
+
+    /** Should return value be popped off the stack after the call */
+    final boolean popReturnValue;
+
+    /** Indexbyte operand to generate at call site */
+    final IndexbyteOp generateIndexbyteOp;
+
+    public CallMethod(Invoke invokeInsn, Clazz staticClass, Clazz receiverClass,
+                      String methodName, String methodDesc, Param[] params,
+                      String returnType, boolean popReturnValue,
+                      IndexbyteOp generateIndexbyteOp) {
+        this.invokeInsn = invokeInsn;
+        this.staticClass = staticClass;
+        this.receiverClass = receiverClass;
+        this.methodName = methodName;
+        this.methodDesc = methodDesc;
+        this.params = params;
+        this.returnType = returnType;
+        this.popReturnValue = popReturnValue;
+        this.generateIndexbyteOp = generateIndexbyteOp;
+    }
+
+    public boolean popReturnValue() {
+        return popReturnValue;
+    }
+
+    public IndexbyteOp generateIndexbyteOp() {
+        return generateIndexbyteOp;
+    }
+
+    public Invoke invokeInsn() {
+        return invokeInsn;
+    }
+
+    public Clazz staticClass() {
+        return staticClass;
+    }
+
+    public Clazz receiverClass() {
+        return receiverClass;
+    }
+
+    public String methodName() {
+        return methodName;
+    }
+
+    public String methodDesc() {
+        return methodDesc;
+    }
+
+    public Param[] params() {
+        return params;
+    }
+
+    public String returnType() {
+        return returnType;
+    }
+
+    public boolean isInterface() {
+        return generateIndexbyteOp() == IndexbyteOp.METHODREF ?
+                     false :
+                     (generateIndexbyteOp() == IndexbyteOp.INTERFACEMETHODREF ?
+                         true :
+                         staticClass() instanceof Interface);
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitCallMethod(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/body/EmptyBody.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.body;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents empty method body - it simply returns out of a method call.
+ * It has type void.
+ */
+public class EmptyBody implements MethodBody {
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitEmptyBody(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/body/MethodBody.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.body;
+
+import vm.runtime.defmeth.shared.data.Element;
+
+/**
+ * Represents method body.
+ */
+public interface MethodBody extends Element {}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/body/ReturnIntBody.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.body;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents method body which returns integer constant.
+ */
+public class ReturnIntBody implements MethodBody {
+    int value;
+
+    public ReturnIntBody(int value) {
+        this.value = value;
+    }
+
+    public int getValue() {
+        return value;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitReturnIntBody(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/body/ReturnNewInstanceBody.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.body;
+
+import vm.runtime.defmeth.shared.data.ConcreteClass;
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents method body which returns null constant.
+ */
+public class ReturnNewInstanceBody implements MethodBody {
+    private ConcreteClass clz;
+
+    public ReturnNewInstanceBody(ConcreteClass clz) {
+        this.clz = clz;
+    }
+
+    public ConcreteClass getType() {
+        return clz;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitReturnNewInstanceBody(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/body/ReturnNullBody.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.body;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents method body which returns null constant.
+ */
+public class ReturnNullBody implements MethodBody {
+    public ReturnNullBody() {}
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitReturnNullBody(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/body/ThrowExBody.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.body;
+
+import vm.runtime.defmeth.shared.data.Clazz;
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents method body which throws new exception of type {@code excClass}.
+ */
+public class ThrowExBody implements MethodBody {
+    Clazz excClass; // exception type
+
+    public ThrowExBody(Clazz exc) {
+        this.excClass = exc;
+    }
+
+    public Clazz getExc() {
+        return excClass;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitThrowExBody(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/param/DoubleParam.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.param;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents parameter constant value of primitive type double.
+ * Used to pass double constant as a parameter during method call.
+ */
+public class DoubleParam implements Param {
+    double value;
+
+    public DoubleParam(double value) {
+        this.value = value;
+    }
+
+    public double value() {
+        return value;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitParamDouble(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/param/FloatParam.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.param;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents parameter constant value of type float.
+ * Used to pass float constant as a parameter during method call.
+ */
+public class FloatParam implements Param {
+    float value;
+
+    public FloatParam(float value) {
+        this.value = value;
+    }
+
+    public float value() {
+        return value;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitParamFloat(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/param/IntParam.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.param;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents parameter constant value of type int.
+ * Used to pass int constant as a parameter during method call.
+ */
+public class IntParam implements Param {
+    int value;
+
+    public IntParam(int value) {
+        this.value = value;
+    }
+
+    public int value() {
+        return value;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitParamInt(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/param/LongParam.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.param;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents parameter constant value of type long.
+ * Used to pass long constant as a parameter during method call.
+ */
+public class LongParam implements Param {
+    long value;
+
+    public LongParam(long value) {
+        this.value = value;
+    }
+
+    public long value() {
+        return value;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitParamLong(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/param/NewInstanceParam.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.param;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+import vm.runtime.defmeth.shared.data.Clazz;
+
+/**
+ * Represents a parameter value which is a fresh new instance of some
+ * predefined type. Used to pass new instance of type {@code clz} as a parameter
+ * to method calls.
+ */
+public class NewInstanceParam implements Param {
+    Clazz clz;
+
+    public NewInstanceParam(Clazz clz) {
+        this.clz = clz;
+    }
+
+    public Clazz clazz() {
+        return clz;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitParamNewInstance(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/param/NullParam.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.param;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents null value as a parameter.
+ * Used to pass null value as a parameter to method calls.
+ */
+public class NullParam implements Param {
+
+    public NullParam() {}
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitParamNull();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/param/Param.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.param;
+
+import vm.runtime.defmeth.shared.data.Element;
+
+/**
+ * Method parameter constant.
+ */
+public interface Param extends Element {}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/param/StringParam.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.param;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Constant value for a method parameter of type j.l.String.
+ * Used to pass a {@code String} as a method parameters during calls.
+ */
+public class StringParam implements Param {
+    String value;
+
+    public StringParam(String value) {
+        this.value = value;
+    }
+
+    public String value() {
+        return value;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitParamString(this);
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/result/IntResult.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.result;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Return value of integer constant (int).
+ */
+public class IntResult implements Result {
+    int expected;
+
+    public IntResult(int expected) {
+        this.expected = expected;
+    }
+
+    public int getExpected() {
+        return expected;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitResultInt(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/result/Result.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.result;
+
+import vm.runtime.defmeth.shared.data.Element;
+
+/**
+ * Method result value.
+ * Used to represent and check expected return value from a method call.
+ */
+public interface Result extends Element {}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/result/ResultIgnore.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.result;
+
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Represents an action: ignore result of a method call,
+ * i.e. if a method doesn't throw exception, the check always pass.
+ */
+public class ResultIgnore implements Result {
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitResultIgnore();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/result/ThrowExResult.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.data.method.result;
+
+import vm.runtime.defmeth.shared.data.Clazz;
+import vm.runtime.defmeth.shared.data.Visitor;
+
+/**
+ * Check that an exception of type {@code excCall} is thrown from a call.
+ */
+public class ThrowExResult implements Result {
+    Clazz excClass;
+    private String msg;
+    private boolean isExact;
+
+    public ThrowExResult(Clazz excClass, boolean isExact, String msg) {
+        if ("java/lang/Throwable".equals(excClass.name())) {
+            throw new IllegalArgumentException("Throwable isn't supported");
+        }
+        this.excClass = excClass;
+        this.isExact = isExact;
+    }
+
+    public Clazz getExc() {
+        return excClass;
+    }
+
+    public boolean isExact() {
+        return isExact;
+    }
+
+    public boolean hasMessage() {
+        return msg != null;
+    }
+
+    public String getMessage() {
+        return msg;
+    }
+
+    @Override
+    public void visit(Visitor v) {
+        v.visitResultThrowExc(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/executor/AbstractReflectionTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.executor;
+
+import nsk.share.Pair;
+import vm.runtime.defmeth.shared.Constants;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.MemoryClassLoader;
+import vm.runtime.defmeth.shared.Util;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+import vm.runtime.defmeth.shared.data.Clazz;
+import vm.runtime.defmeth.shared.data.ParamValueExtractor;
+import vm.runtime.defmeth.shared.data.Tester;
+import vm.runtime.defmeth.shared.data.method.param.Param;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * Commmon ancestor for reflection-based tests (Method.invoke & MethodHandle.invokeWithArguments).
+ * Encapsulates all necessary state for test execution and contains some utility methods.
+ */
+public abstract class AbstractReflectionTest implements TestExecutor {
+    protected MemoryClassLoader cl;
+    protected Collection<? extends Tester> tests;
+    protected DefMethTest testInstance;
+
+    public AbstractReflectionTest(DefMethTest testInstance, MemoryClassLoader cl, Collection<? extends Tester> tests) {
+        this.testInstance = testInstance;
+        this.cl = cl;
+        this.tests = tests;
+    }
+
+    @Override
+    public MemoryClassLoader getLoader() {
+        return cl;
+    }
+
+    protected Class[] paramType(String desc) throws ClassNotFoundException {
+        Pair<String[],String> p = Util.parseDesc(desc);
+        Class[] ptypes = new Class[p.first.length];
+        for (int i = 0; i < ptypes.length; i++) {
+            ptypes[i] = Util.decodeClass(p.first[i], getLoader());
+        }
+        return ptypes;
+    }
+
+    public Class resolve(Clazz clazz) {
+        try {
+            return cl.loadClass(clazz.name());
+        } catch (ClassNotFoundException e) {
+            throw new Error(e);
+        }
+    }
+
+    protected Object[] values(Param[] params) {
+        Object[] result = new Object[params.length];
+        for (int i = 0; i < result.length; i++) {
+            result[i] = new ParamValueExtractor(this, params[i]).value();
+        }
+        return result;
+    }
+
+    public List<Pair<Tester,Throwable>> run() {
+        List<Pair<Tester,Throwable>> errors = new ArrayList<>();
+
+        if (tests.isEmpty()) {
+            throw new IllegalStateException("No tests to run");
+        }
+
+        for (Tester t : tests) {
+            StringBuilder msg =
+                    new StringBuilder(String.format("\t%-30s: ", t.name()));
+
+            Throwable error = null;
+            try {
+                run(t);
+
+                msg.append("PASSED");
+            } catch (Throwable e) {
+                error = e;
+                errors.add(Pair.of(t,e));
+                msg.append("FAILED");
+            } finally {
+                testInstance.getLog().info(msg.toString());
+                if (error != null) {
+                    //testInstance.getLog().info("\t\t"+error.getMessage());
+                    testInstance.getLog().info("\t\t"+error);
+                    if (Constants.PRINT_STACK_TRACE) {
+                        error.printStackTrace();
+                    }
+                }
+            }
+        }
+
+        testInstance.addFailureCount(errors.isEmpty() ? 0 : 1);
+        return errors;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/executor/GeneratedTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.executor;
+
+import java.lang.reflect.InvocationTargetException;
+
+import vm.runtime.defmeth.shared.Constants;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.MemoryClassLoader;
+import vm.runtime.defmeth.shared.data.Tester;
+import java.util.*;
+import nsk.share.Pair;
+import static vm.runtime.defmeth.shared.Constants.*;
+
+/**
+ * Run a single test with bytecode-generated asserts.
+ */
+public class GeneratedTest implements TestExecutor {
+
+    /** Assertions to check */
+    private Collection<? extends Tester> tests;
+
+    /** Class loader to load all necessary classes for execution */
+    private MemoryClassLoader cl;
+
+    private DefMethTest testInstance;
+
+    public GeneratedTest(MemoryClassLoader cl, DefMethTest testInstance,
+                         Collection<? extends Tester> tests) {
+        this.cl = cl;
+        this.tests = tests;
+        this.testInstance = testInstance;
+    }
+
+    public GeneratedTest(MemoryClassLoader cl, DefMethTest testObj,
+                         Tester... tests) {
+        this(cl, testObj, Arrays.asList(tests));
+    }
+
+    @Override
+    public MemoryClassLoader getLoader() {
+        return cl;
+    }
+
+    /**
+     * Run individual assertion for the test by it's name.
+     *
+     * @param test
+     * @throws Throwable
+     */
+    public void run(Tester test) throws Throwable {
+        try {
+            Class<?> clz = cl.loadClass(test.name());
+            java.lang.reflect.Method m = clz.getMethod("test");
+            m.invoke(null);
+        } catch (InvocationTargetException e) {
+            throw e.getCause();
+        }
+    }
+
+    /**
+     * Check assertions from a test and return errors if any.
+     *
+     * @return
+     */
+    public List<Pair<Tester,Throwable>> run() {
+        List<Pair<Tester,Throwable>> errors = new ArrayList<>();
+
+        if (tests.isEmpty()) {
+            throw new IllegalStateException("No tests to run");
+        }
+
+        for (Tester t : tests) {
+            StringBuilder msg =
+                    new StringBuilder(String.format("\t%-30s: ", t.name()));
+
+            Throwable error = null;
+            try {
+                run(t);
+
+                msg.append("PASSED");
+            } catch (Throwable e) {
+                error = e;
+                errors.add(Pair.of(t,e));
+                msg.append("FAILED");
+            } finally {
+                testInstance.getLog().info(msg.toString());
+                if (error != null) {
+                    testInstance.getLog().info("\t\t"+error.getMessage());
+                    if (PRINT_STACK_TRACE) {
+                        error.printStackTrace();
+                    }
+                }
+            }
+        }
+
+        testInstance.addFailureCount(errors.isEmpty() ? 0 : 1);
+        return errors;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/executor/MHInvokeWithArgsTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,221 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.executor;
+
+import nsk.share.Pair;
+import nsk.share.TestFailure;
+import nsk.share.test.TestUtils;
+import vm.runtime.defmeth.shared.data.AbstractVisitor;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.MemoryClassLoader;
+import vm.runtime.defmeth.shared.Util;
+import vm.runtime.defmeth.shared.data.Visitor;
+import vm.runtime.defmeth.shared.data.Clazz;
+import vm.runtime.defmeth.shared.data.Tester;
+import vm.runtime.defmeth.shared.data.method.body.CallMethod;
+import vm.runtime.defmeth.shared.data.method.param.*;
+import vm.runtime.defmeth.shared.data.method.result.IntResult;
+import vm.runtime.defmeth.shared.data.method.result.ThrowExResult;
+
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.Collection;
+
+/**
+ * Test runner for invocation mode through MethodHandle.invokeWithArguments(...).
+ */
+public class MHInvokeWithArgsTest extends AbstractReflectionTest {
+
+
+    public MHInvokeWithArgsTest(MemoryClassLoader cl, DefMethTest testInstance,
+                                Collection<? extends Tester> tests) {
+        super(testInstance, cl, tests);
+    }
+
+    public MHInvokeWithArgsTest(MemoryClassLoader cl, DefMethTest testInstance, Tester... tests) {
+        super(testInstance, cl, Arrays.asList(tests));
+    }
+
+    private MethodType descToMethodType(String desc) throws ClassNotFoundException {
+        Pair<String[],String> p = Util.parseDesc(desc);
+        Class rtype = Util.decodeClass(p.second, cl);
+        if (p.first.length > 0) {
+            Class[] ptypes = new Class[p.first.length];
+            for (int i = 0; i < ptypes.length; i++) {
+                ptypes[i] = Util.decodeClass(p.first[i], cl);
+            }
+            return MethodType.methodType(rtype, ptypes);
+        } else {
+            return MethodType.methodType(rtype);
+        }
+    }
+    private class InvokeWithArgsVisitor extends AbstractVisitor implements Visitor {
+        private CallMethod call;
+
+        private CallMethod.Invoke invokeType;
+        Class<?> declaringClass;
+        String methodName;
+        MethodType methodType;
+        private Object[] args;
+
+        @Override
+        public void visitTester(Tester t) {
+            // Resolve targetMethod & prepare invocation parameters
+            t.getCall().visit(this);
+
+            // Invoke resolved targetMethod and check returned value
+            t.getResult().visit(this);
+        }
+
+        private void prepareForInvocation()
+                throws IllegalAccessException, InstantiationException, ClassNotFoundException, NoSuchMethodException {
+            final Clazz staticClass = call.staticClass();
+            final Clazz receiverClass = call.receiverClass();
+
+            final Param[] params = call.params();
+
+            // MethodHandle construction is skipped deliberately
+            // Need to perform the lookup in correct context
+            invokeType = call.invokeInsn();
+            declaringClass = resolve(staticClass);
+            methodName = call.methodName();
+            methodType = descToMethodType(call.methodDesc());
+
+            Object[] values = values(params);
+
+            if (call.invokeInsn() != CallMethod.Invoke.STATIC) {
+                // Prepare receiver for non-static call
+                args = new Object[params.length+1];
+                Class recClass = resolve(receiverClass);
+                args[0] = recClass.newInstance();
+                System.arraycopy(values, 0, args, 1, values.length);
+            } else {
+                // No need for a receiver for static call
+                args = values;
+            }
+        }
+
+        @Override
+        public void visitCallMethod(CallMethod call) {
+            // Cache call site info for future uses
+            this.call = call;
+
+            // NB! don't call prepareForInvocation yet - it can throw exceptions expected by a test
+        }
+
+        @Override
+        public void visitResultInt(IntResult res) {
+            try {
+                prepareForInvocation();
+                int result = (int) invokeInTestContext();
+                TestUtils.assertEquals(res.getExpected(), result);
+            } catch (Throwable e) {
+                throw new TestFailure("Unexpected exception", e);
+            }
+        }
+
+        @Override
+        public void visitResultThrowExc(ThrowExResult res) {
+            String expectedExcName = res.getExc().name();
+            String originalExpectedExcName = expectedExcName;
+            // *Error <==> *Exception correspondence for reflection invocation
+            switch (expectedExcName) {
+                case "java.lang.IllegalAccessError":
+                case "java.lang.InstantiationError":
+                    expectedExcName = expectedExcName.replace("Error", "Exception");
+                    break;
+            }
+
+            try {
+                prepareForInvocation(); // can throw an exception expected by a test
+                invokeInTestContext();
+                throw new TestFailure("No exception was thrown: " + expectedExcName);
+            } catch (Throwable ex) {
+                // Need to dig 1 level down (MH.invoke* doesn't wrap exceptions), since there are 2 levels of indirection
+                // during invocation:
+                // invokeInTestContext(...) => TestContext.invoke(...) => Method.invoke(...)
+                Throwable target = ex;
+                Class<?> actualExc = (target.getCause() != null) ? target.getCause().getClass()
+                                                              : target.getClass();
+                Class<?> expectedExc;
+                try {
+                    expectedExc = cl.loadClass(expectedExcName);
+                } catch (ClassNotFoundException e) {
+                    throw new Error(e);
+                }
+                if (!expectedExc.isAssignableFrom(actualExc) &&
+                    !originalExpectedExcName.equals(actualExc.getName()) &&
+                    !expectedExc.isAssignableFrom(target.getClass())) {
+                    throw new TestFailure(
+                            String.format("Caught exception as expected, but it's type is wrong: expected: %s; actual: %s.",
+                                    expectedExcName, actualExc.getName()), target);
+                }
+            }
+        }
+
+        @Override
+        public void visitResultIgnore() {
+            try {
+                prepareForInvocation();
+                invokeInTestContext();
+            } catch (Throwable e) {
+                throw new TestFailure("Unexpected exception", e);
+            }
+        }
+
+        private Object invokeInTestContext() throws Throwable {
+            Class<?> context = cl.getTestContext();
+            // Invoke target method from TestContext using:
+            // public static Object invokeWithArguments(
+            //          CallMethod.Invoke invokeType, Class<?> declaringClass, String methodName, MethodType type,
+            //          Object... arguments) throws Throwable
+            MethodHandle invoker;
+            try {
+                invoker = MethodHandles.lookup().
+                            findStatic(context, "invokeWithArguments",
+                                    MethodType.methodType(Object.class, CallMethod.Invoke.class, Class.class,
+                                            String.class, MethodType.class, Object[].class));
+            } catch (NoSuchMethodException | IllegalAccessException e) {
+                throw new TestFailure("Exception during reflection invocation", e.getCause());
+            }
+
+            return invoker.invokeExact(invokeType, declaringClass, methodName, methodType, args);
+
+        }
+    }
+
+    /**
+     * Run individual assertion for the test by it's name.
+     *
+     * @param test
+     * @throws Throwable
+     */
+    public void run(Tester test) throws Throwable {
+        test.visit(new InvokeWithArgsVisitor());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/executor/ReflectionTest.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,328 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.executor;
+
+import nsk.share.TestFailure;
+import nsk.share.test.TestUtils;
+import vm.runtime.defmeth.shared.builder.TestBuilder;
+import vm.runtime.defmeth.shared.data.AbstractVisitor;
+import vm.runtime.defmeth.shared.DefMethTest;
+import vm.runtime.defmeth.shared.MemoryClassLoader;
+import vm.runtime.defmeth.shared.data.Clazz;
+import vm.runtime.defmeth.shared.data.ConcreteClass;
+import vm.runtime.defmeth.shared.data.Interface;
+import vm.runtime.defmeth.shared.data.Visitor;
+import vm.runtime.defmeth.shared.data.Tester;
+import vm.runtime.defmeth.shared.data.method.AbstractMethod;
+import vm.runtime.defmeth.shared.data.method.ConcreteMethod;
+import vm.runtime.defmeth.shared.data.method.DefaultMethod;
+import vm.runtime.defmeth.shared.data.method.body.CallMethod;
+import vm.runtime.defmeth.shared.data.method.body.EmptyBody;
+import vm.runtime.defmeth.shared.data.method.body.ReturnIntBody;
+import vm.runtime.defmeth.shared.data.method.body.ThrowExBody;
+import vm.runtime.defmeth.shared.data.method.result.IntResult;
+import vm.runtime.defmeth.shared.data.method.result.ThrowExResult;
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import static java.lang.String.format;
+
+/**
+ * Test runner for invocation mode through Reflection API (Method.invoke).
+ */
+public class ReflectionTest extends AbstractReflectionTest {
+    private TestBuilder builder;
+
+    public ReflectionTest(MemoryClassLoader cl, TestBuilder builder, DefMethTest testInstance,
+                          Collection<? extends Tester> tests) {
+        super(testInstance, cl, tests);
+        this.builder = builder;
+    }
+
+    public ReflectionTest(MemoryClassLoader cl, TestBuilder builder, DefMethTest testInstance,
+                          Tester... tests) {
+        this(cl, builder, testInstance, Arrays.asList(tests));
+    }
+
+    private class ReflectionTesterVisitor extends AbstractVisitor implements Visitor {
+        private CallMethod call;
+        private Object receiver;
+
+        private Method targetMethod;
+        private Object[] values;
+
+        private Tester tester;
+
+        @Override
+        public void visitTester(Tester t) {
+            tester = t;
+            try {
+                // Resolve targetMethod & prepare invocation parameters
+                t.getCall().visit(this);
+
+                // Invoke resolved targetMethod and check returned value
+                t.getResult().visit(this);
+            } finally {
+                tester = null;
+            }
+        }
+
+        @Override
+        public void visitCallMethod(CallMethod call) {
+            // Cache call site info for future uses
+            this.call = call;
+
+            // NB! don't call prepareForInvocation yet - it can throw exceptions expected by a test
+        }
+
+        private void prepareForInvocation()
+                throws IllegalAccessException, InstantiationException, ClassNotFoundException, NoSuchMethodException {
+            Class<?> staticClass = resolve(call.staticClass());
+
+            String methodName = call.methodName();
+            Class[] paramTypes = paramType(call.methodDesc());
+
+            if (tester.getTestPrivateMethod() != true) {
+                targetMethod = staticClass.getMethod(methodName, paramTypes);
+            } else {
+                try {
+                    targetMethod = staticClass.getDeclaredMethod(methodName, paramTypes);
+                } catch (NoSuchMethodException nsme) {}
+
+                Class clazz = staticClass.getSuperclass();
+                while ((targetMethod == null) && (clazz != null)) {
+                    try {
+                        targetMethod = clazz.getDeclaredMethod(methodName, paramTypes);
+                    } catch (NoSuchMethodException nsme) {}
+                    clazz = clazz.getSuperclass();
+                }
+            }
+
+            // Check reflection info for Class.getMethod(...)
+            checkReflectionInfo(targetMethod);
+
+            // Prepare receiver after resolving target method, because it can throw instantiation exception
+            if (call.invokeInsn() != CallMethod.Invoke.STATIC) {
+                Class<?> receiverClass = resolve(call.receiverClass());
+                receiver = receiverClass.newInstance();
+            } else {
+                // receiver == null; Method.invoke ignores first argument when static method is called
+            }
+
+            // Check reflection info for Class.getDeclaredMethod(...)
+            try {
+                Method m = staticClass.getDeclaredMethod(methodName, paramTypes);
+                checkReflectionInfo(m);
+            } catch (NoSuchMethodException e) {}
+
+            values = values(call.params());
+        }
+
+        /** Calculate Method.isDefault() property for a Method */
+        private abstract class AbstractResultExtractor extends AbstractVisitor {
+            public boolean isDefault;
+            public void visitConcreteMethod(ConcreteMethod m) {
+                isDefault = false;
+                m.body().visit(this); // extract return value
+            }
+
+            public void visitAbstractMethod(AbstractMethod m) {
+                isDefault = false;
+            }
+
+            public void visitDefaultMethod(DefaultMethod m) {
+                isDefault = true;
+                m.body().visit(this); // extract return value
+            }
+
+            public void visitEmptyBody(EmptyBody body) {
+                // ignore body
+            }
+
+            public void visitThrowExBody(ThrowExBody body) {
+                // ignore body
+            }
+
+            public void visitReturnIntBody(ReturnIntBody body) {
+                // ignore body
+            }
+
+            public void visitResultInt(IntResult res) {
+                // ignore body
+            }
+
+            public void visitCallMethod(CallMethod call) {
+                // ignore body
+            }
+        }
+
+        private vm.runtime.defmeth.shared.data.method.Method findMethod(Clazz clz, String name, String desc) {
+            if (clz == null)  return null;
+
+            // Look for the method declaration in current class only
+            for (vm.runtime.defmeth.shared.data.method.Method m : clz.methods()) {
+                if (name.equals(m.name()) && desc.equals(m.desc())) {
+                    return m;
+                }
+            }
+
+            return null;
+        }
+
+        /** Verify reflection info for a statically known method */
+        private void checkReflectionInfo(Method method) {
+            vm.runtime.defmeth.shared.data.method.Method m =
+                    findMethod(call.staticClass(), call.methodName(), call.methodDesc());
+
+            if (m != null) {
+                int flags = m.acc();
+                boolean shouldBeDefault = (m instanceof DefaultMethod) &&
+                                          ((flags & ACC_PUBLIC) == ACC_PUBLIC) &&
+                                          ((flags & ACC_STATIC) != ACC_STATIC) &&
+                                          ((flags & ACC_ABSTRACT) != ACC_ABSTRACT);
+                boolean shouldBeAbstract = Modifier.isAbstract(flags);
+
+                // check isDefault property
+                boolean isDefault = method.isDefault();
+                if (shouldBeDefault != isDefault) {
+                    throw new TestFailure(format("Reflection info for Method.isDefault() is invalid:" +
+                            " expected: %b; actual: %b. Method info: %s vs %s",
+                            shouldBeDefault, isDefault, method.toString(), m.toString()));
+                }
+
+                boolean isAbstract = Modifier.isAbstract(method.getModifiers());
+                // check that the method w/ a body shouldn't be abstract
+                if (shouldBeAbstract != isAbstract) {
+                    throw new TestFailure(format("Method shouldn't be abstract: %s vs %s", method.toString(), m.toString()));
+                }
+            }
+        }
+
+        private Object invokeInTestContext(Method m, Object obj, Object... args)
+                throws InvocationTargetException {
+            Class<?> context = cl.getTestContext();
+            try {
+                // Invoke target method from TestContext using TestContext.invoke(Method, Object, Object...)
+                Method invoker = context.getDeclaredMethod("invoke", Method.class, Object.class, Object[].class);
+                return invoker.invoke(null, m, obj, args);
+            } catch (NoSuchMethodException | IllegalAccessException e) {
+                throw new TestFailure("Exception during reflection invocation", e.getCause());
+            }
+        }
+
+        @Override
+        public void visitResultInt(IntResult res) {
+            try {
+                prepareForInvocation();
+                int result = (int) invokeInTestContext(targetMethod, receiver, values);
+                TestUtils.assertEquals(res.getExpected(), result);
+            } catch (TestFailure e) {
+                throw e; // no need to wrap test exception
+            } catch (Exception e) {
+                throw new TestFailure("Unexpected exception", e);
+            }
+        }
+
+        private void checkExpectedException(ThrowExResult exceptionInfo, Throwable actualExc, boolean unwrap) {
+            String expectedExcName = exceptionInfo.getExc().name();
+            String initialExpectedExcName = expectedExcName;
+
+            // *Error <==> *Exception correspondence for reflection invocation
+            switch (expectedExcName) {
+                case "java.lang.NoSuchMethodError":
+                case "java.lang.InstantiationError":
+                case "java.lang.IllegalAccessError":
+                    expectedExcName = expectedExcName.replace("Error", "Exception");
+                    break;
+            }
+
+            // Need to dig 2 levels down since there are 2 levels of indirection during invocation:
+            // invokeInTestContext(...) => TestContext.invoke(...) => Method.invoke(...)
+            // For some exceptions, it's not the case (like NMSE)
+            Throwable target = actualExc;
+            if (unwrap) {
+                if (target.getCause() != null) target = target.getCause();
+                if (target.getCause() != null) target = target.getCause();
+            }
+
+            Class<?> expectedExc;
+            try {
+                expectedExc = cl.getSystemClassLoader().loadClass(expectedExcName);
+            } catch (ClassNotFoundException e) {
+                throw new Error(e);
+            }
+
+            String excName = target.getClass().getName();
+            if (!expectedExc.isAssignableFrom(target.getClass()) &&
+                !initialExpectedExcName.equals(excName)) {
+                throw new TestFailure(
+                        format("Caught exception as expected, but it's type is wrong: expected: %s; actual: %s.",
+                                expectedExcName, excName), target);
+            }
+        }
+
+        @Override
+        public void visitResultThrowExc(ThrowExResult res) {
+            String expectedExcName = res.getExc().name();
+            try {
+                prepareForInvocation(); // can throw an exception expected by a test
+                invokeInTestContext(targetMethod, receiver, values);
+
+                throw new TestFailure("No exception was thrown: " + expectedExcName);
+            } catch (IllegalAccessException | IllegalArgumentException | ClassNotFoundException e) {
+                throw new TestFailure("Exception during reflection invocation", e.getCause());
+            } catch (InstantiationException | NoSuchMethodException | InvocationTargetException e) {
+                checkExpectedException(res, e, true);
+            } catch (Throwable e) {
+                checkExpectedException(res, e, false);
+            }
+        }
+
+        @Override
+        public void visitResultIgnore() {
+            try {
+                prepareForInvocation();
+                invokeInTestContext(targetMethod, receiver, values);
+            } catch (Exception e) {
+                throw new TestFailure("Unexpected exception", e);
+            }
+        }
+    }
+
+    /**
+     * Run individual assertion for the test by it's name.
+     *
+     * @param test
+     * @throws Throwable
+     */
+    public void run(Tester test) throws Throwable {
+        test.visit(new ReflectionTesterVisitor());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/executor/TestExecutor.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package vm.runtime.defmeth.shared.executor;
+
+import java.util.List;
+import nsk.share.Pair;
+import vm.runtime.defmeth.shared.MemoryClassLoader;
+import vm.runtime.defmeth.shared.data.Tester;
+
+public interface TestExecutor {
+
+    public MemoryClassLoader getLoader();
+
+    public List<Pair<Tester,Throwable>> run();
+
+    public void run(Tester test) throws Throwable;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/libredefineClasses.c	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include "redefineClasses.c"
+#include "jni_tools.c"
+#include "nsk_tools.c"
+#include "JVMTITools.c"
+#include "jvmti_tools.c"
+#include "agent_tools.c"
+#include "native_thread.c"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/redefineClasses.c	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,131 @@
+/*
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <jvmti.h>
+
+#include "jni_tools.h"
+#include "nsk_tools.h"
+#include "JVMTITools.h"
+#include "jvmti_tools.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef JNI_ENV_ARG
+
+#ifdef __cplusplus
+#define JNI_ENV_ARG(x, y) y
+#define JNI_ENV_PTR(x) x
+#else
+#define JNI_ENV_ARG(x,y) x, y
+#define JNI_ENV_PTR(x) (*x)
+#endif
+
+#endif
+
+static jvmtiEnv *test_jvmti = NULL;
+static jvmtiCapabilities caps;
+
+/*
+ * Redefine a class with a new version (class file in byte array).
+ *
+ * native static public boolean redefineClassIntl(Class<?> clz, byte[] classFile);
+ *
+ * @param clz class for redefinition
+ * @param classFile new version as a byte array
+ * @return false if any errors occurred during class redefinition
+ */
+JNIEXPORT jboolean JNICALL
+Java_vm_runtime_defmeth_shared_Util_redefineClassIntl(JNIEnv *env, jclass clazz, jclass clazzToRedefine, jbyteArray bytecodeArray) {
+    jvmtiClassDefinition classDef;
+    jboolean result = JNI_TRUE;
+
+    if (!NSK_VERIFY(env != NULL) || !NSK_VERIFY(clazzToRedefine != NULL) || !NSK_VERIFY(bytecodeArray != NULL)) {
+        return JNI_FALSE;
+    }
+
+    classDef.klass = clazzToRedefine;
+    if (!NSK_JNI_VERIFY(env,
+            (classDef.class_byte_count = /* jsize */ NSK_CPP_STUB2(GetArrayLength, env, bytecodeArray)) > 0)) {
+        return JNI_FALSE;
+    }
+
+    if (!NSK_JNI_VERIFY(env,
+            (classDef.class_bytes = (const unsigned char *) /* jbyte* */ NSK_CPP_STUB3(GetByteArrayElements, env, bytecodeArray, NULL)) != NULL)) {
+        return JNI_FALSE;
+    }
+
+    if (!NSK_JVMTI_VERIFY(
+            NSK_CPP_STUB3(RedefineClasses, test_jvmti, 1, &classDef))) {
+        result = JNI_FALSE;
+    }
+
+    // Need to cleanup reference to byte[] whether RedefineClasses succeeded or not
+    if (!NSK_JNI_VERIFY_VOID(env,
+            NSK_CPP_STUB4(ReleaseByteArrayElements, env, bytecodeArray, (jbyte*)classDef.class_bytes, JNI_ABORT))) {
+        return JNI_FALSE;
+    }
+
+    return result;
+}
+
+jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
+    /* init framework and parse options */
+    if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
+        return JNI_ERR;
+
+    /* create JVMTI environment */
+    if (!NSK_VERIFY((test_jvmti =
+            nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+        return JNI_ERR;
+
+    memset(&caps, 0, sizeof(jvmtiCapabilities));
+    caps.can_redefine_classes = 1;
+    if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities,
+            test_jvmti, &caps)))
+        return JNI_ERR;
+
+    if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetCapabilities,
+            test_jvmti, &caps)))
+        return JNI_ERR;
+
+    if (!caps.can_redefine_classes)
+        printf("Warning: RedefineClasses is not implemented\n");
+
+    return JNI_OK;
+}
+
+JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void *reserved) {
+    return Agent_Initialize(jvm, options, reserved);
+}
+
+JNIEXPORT jint JNICALL Agent_OnAttach(JavaVM *jvm, char *options, void *reserved) {
+    return Agent_Initialize(jvm, options, reserved);
+}
+
+#ifdef __cplusplus
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/retransform.mf	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,3 @@
+Premain-Class: vm.runtime.defmeth.shared.Util$Transformer
+Can-Retransform-Classes: true
+Can-Redefine-Classes: true
--- a/test/jdk/ProblemList.txt	Thu May 24 12:32:00 2018 -0700
+++ b/test/jdk/ProblemList.txt	Thu May 24 13:09:59 2018 -0700
@@ -794,6 +794,8 @@
 
 # jdk_util
 
+java/util/Map/InPlaceOpsCollisions.java                         8203387 generic-all
+
 ############################################################################
 
 # jdk_instrument
--- a/test/jdk/java/net/URL/OpenStream.java	Thu May 24 12:32:00 2018 -0700
+++ b/test/jdk/java/net/URL/OpenStream.java	Thu May 24 13:09:59 2018 -0700
@@ -55,7 +55,7 @@
     static void checkThrows(String url) throws IOException {
         URL u = new URL(url);
         try {
-            InputStream in = u.openStream();
+            InputStream in = u.openConnection(Proxy.NO_PROXY).getInputStream();
         } catch (UnknownHostException x) {
             System.out.println("UnknownHostException is thrown as expected.");
             return;
--- a/test/jdk/java/nio/channels/Selector/RacyDeregister.java	Thu May 24 12:32:00 2018 -0700
+++ b/test/jdk/java/nio/channels/Selector/RacyDeregister.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,17 +34,24 @@
 
 /*
  * @test
- * @bug 6429204
+ * @bug 6429204 8203766
  * @summary SelectionKey.interestOps does not update interest set on Windows.
  * @author Frank Ding
+ * @run main/timeout=1200 RacyDeregister
  */
 public class RacyDeregister {
 
-    // FIXME: numOuterLoopIterations should be reverted to the hard-coded value
-    // 15 when JDK-8161083 is resolved as either a bug or a non-issue.
-    static final int numOuterLoopIterations =
+    // FIXME: NUM_OUTER_LOOP_ITERATIONS should be reverted to the hard-coded
+    // value 15 when JDK-8161083 is resolved as either a bug or a non-issue.
+    static final int NUM_OUTER_LOOP_ITERATIONS =
         System.getProperty("os.name").startsWith("Windows") ? 150 : 15;
 
+    // 90% of 1200 second timeout as milliseconds
+    static final int TIMEOUT_THRESHOLD_MILLIS = 1200*900;
+
+    // Time at start of main().
+    static long t0;
+
     static boolean notified;
     static final Object selectorLock = new Object();
     static final Object notifyLock = new Object();
@@ -56,6 +63,8 @@
     static volatile Boolean succTermination = null;
 
     public static void main(String[] args) throws Exception {
+        t0 = System.currentTimeMillis();
+
         InetAddress addr = InetAddress.getByName(null);
         ServerSocketChannel sc = ServerSocketChannel.open();
         sc.socket().bind(new InetSocketAddress(addr, 0));
@@ -76,13 +85,12 @@
         final SelectionKey[] key = new SelectionKey[]{
             accepted.register(sel, SelectionKey.OP_READ)};
 
-
         // thread that will be changing key[0].interestOps to OP_READ | OP_WRITE
         new Thread() {
 
             public void run() {
                 try {
-                    for (int k = 0; k < numOuterLoopIterations; k++) {
+                    for (int k = 0; k < NUM_OUTER_LOOP_ITERATIONS; k++) {
                         for (int i = 0; i < 10000; i++) {
                             synchronized (notifyLock) {
                                 synchronized (selectorLock) {
@@ -104,7 +112,7 @@
                                             if (notified) {
                                                 long t =
                                                     System.currentTimeMillis();
-                                                System.out.printf
+                                                System.err.printf
                                                     ("Notified after %d ms%n",
                                                      t - beginTime);
                                                 break;
@@ -118,6 +126,15 @@
                                 }
                             }
                         }
+                        long t = System.currentTimeMillis();
+                        if (t - t0 > TIMEOUT_THRESHOLD_MILLIS) {
+                            System.err.format
+                                ("Timeout after %d outer loop iterations%n", k);
+                            succTermination = false;
+                            // wake up main thread doing select()
+                            sel.wakeup();
+                            return;
+                        }
                     }
                     succTermination = true;
                     // wake up main thread doing select()
@@ -140,7 +157,7 @@
                 sc.close();
                 break;
             } else if (Boolean.FALSE.equals(succTermination)) {
-                System.out.println("Failed to pass the test");
+                System.err.println("Failed to pass the test");
                 sel.close();
                 sc.close();
                 throw new RuntimeException("Failed to pass the test");
--- a/test/jdk/java/util/zip/ZipCoding.java	Thu May 24 12:32:00 2018 -0700
+++ b/test/jdk/java/util/zip/ZipCoding.java	Thu May 24 13:09:59 2018 -0700
@@ -114,7 +114,7 @@
         testZipInputStream(bis, cs, name, comment, bb);
 
         if ("utf-8".equals(csn)) {
-            // EFS should be set
+            // USE_UTF8 should be set
             bis.reset();
             testZipInputStream(bis, Charset.forName("MS932"), name, comment, bb);
         }
--- a/test/jdk/javax/net/ssl/compatibility/JdkRelease.java	Thu May 24 12:32:00 2018 -0700
+++ b/test/jdk/javax/net/ssl/compatibility/JdkRelease.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,8 @@
     JDK7(7, "1.7"),
     JDK8(8, "1.8"),
     JDK9(9, "9"),
-    JDK10(10, "10");
+    JDK10(10, "10"),
+    JDK11(11, "11");
 
     public final int sequence;
     public final String release;
@@ -51,6 +52,8 @@
             return JDK9;
         } else if (jdkVersion.startsWith(JDK10.release)) {
             return JDK10;
+        } else if (jdkVersion.startsWith(JDK11.release)) {
+            return JDK11;
         }
 
         return null;
--- a/test/jdk/jdk/jfr/api/recorder/TestStartStopRecording.java	Thu May 24 12:32:00 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recorder/TestStartStopRecording.java	Thu May 24 13:09:59 2018 -0700
@@ -38,6 +38,7 @@
  * @test TestStartStopRecording
  *
  * @key jfr
+ * @library /test/lib
  * @run main/othervm jdk.jfr.api.recorder.TestStartStopRecording
  */
 public class TestStartStopRecording {
--- a/test/jdk/jdk/jfr/jvm/TestUnsupportedVM.java	Thu May 24 12:32:00 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestUnsupportedVM.java	Thu May 24 13:09:59 2018 -0700
@@ -71,6 +71,7 @@
  * @modules jdk.jfr
  *          jdk.management.jfr
  *
+ * @library /test/lib
  * @run main/othervm -Dprepare-recording=true jdk.jfr.jvm.TestUnsupportedVM
  * @run main/othervm -Djfr.unsupported.vm=true jdk.jfr.jvm.TestUnsupportedVM
  */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testAuthor/TestAuthor.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug      8202947
+ * @summary  test the at-author tag, and corresponding option
+ * @library  /tools/lib ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build    toolbox.ToolBox JavadocTester
+ * @run main TestAuthor
+ */
+
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import toolbox.ToolBox;
+
+public class TestAuthor extends JavadocTester {
+
+    public static void main(String... args) throws Exception {
+        TestAuthor tester = new TestAuthor();
+        tester.runTests();
+    }
+
+    ToolBox tb = new ToolBox();
+    Path src;
+
+    TestAuthor() throws Exception {
+        src = Files.createDirectories(Paths.get("src"));
+        tb.writeJavaFiles(src,
+                  "package pkg;\n"
+                + "/** Introduction. \n"
+                + " * @author anonymous\n"
+                + " */\n"
+                + "public class Test { }\n");
+    }
+
+    @Test
+    void testAuthor() {
+        javadoc("-d", "out-author",
+                "-sourcepath", src.toString(),
+                "-author",
+                "pkg");
+        checkExit(Exit.OK);
+
+        checkAuthor(true);
+    }
+
+    @Test
+    void testNoAuthor() {
+        javadoc("-d", "out-noauthor",
+                "-sourcepath", src.toString(),
+                "pkg");
+        checkExit(Exit.OK);
+
+        checkAuthor(false);
+    }
+
+    void checkAuthor(boolean on) {
+        checkOutput("pkg/Test.html", on,
+                "<dl>\n"
+                + "<dt><span class=\"simpleTagLabel\">Author:</span></dt>\n"
+                + "<dd>anonymous</dd>\n"
+                + "</dl>");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testGenericMethodLinkTaglet/TestGenericMethodLinkTaglet.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug      8188248
+ * @summary  NullPointerException on generic methods
+ * @library  /tools/lib ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build    JavadocTester toolbox.ToolBox builder.ClassBuilder
+ * @run main TestGenericMethodLinkTaglet
+ */
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import builder.ClassBuilder;
+import builder.ClassBuilder.MethodBuilder;
+import toolbox.ToolBox;
+
+public class TestGenericMethodLinkTaglet extends JavadocTester {
+
+    final ToolBox tb;
+
+    public static void main(String... args) throws Exception {
+        TestGenericMethodLinkTaglet tester = new TestGenericMethodLinkTaglet();
+        tester.runTests(m -> new Object[]{Paths.get(m.getName())});
+    }
+
+    TestGenericMethodLinkTaglet() {
+        tb = new ToolBox();
+    }
+
+    @Test
+    void test(Path base) throws Exception {
+        Path srcDir = base.resolve("src");
+        createTestClass(srcDir);
+
+        Path outDir = base.resolve("out");
+        javadoc("-Xdoclint:none",
+                "-d", outDir.toString(),
+                "-sourcepath", srcDir.toString(),
+                "pkg");
+        checkExit(Exit.OK);
+
+        checkOutput("pkg/A.html", true,
+                "<a href=\"A.html\" title=\"class in pkg\"><code>A</code></a>");
+    }
+
+    void createTestClass(Path srcDir) throws Exception {
+        MethodBuilder method = MethodBuilder
+                .parse("public <T> void m1(T t) {}")
+                .setComments(
+                    "@param <T> type param",
+                    "@param t param {@link T}");
+
+        new ClassBuilder(tb, "pkg.A")
+                .setModifiers("public", "class")
+                .addMembers(method)
+                .write(srcDir);
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testSerializedFormWithClassFile/TestSerializedFormWithClassFile.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8199307
+ * @summary NPE in jdk.javadoc.internal.doclets.toolkit.util.Utils.getLineNumber
+ * @library /tools/lib ../lib
+ * @modules
+ *      jdk.javadoc/jdk.javadoc.internal.tool
+ *      jdk.compiler/com.sun.tools.javac.api
+ *      jdk.compiler/com.sun.tools.javac.main
+ * @build JavadocTester
+ * @run main TestSerializedFormWithClassFile
+ */
+
+import builder.ClassBuilder;
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import builder.ClassBuilder.MethodBuilder;
+import toolbox.ToolBox;
+import toolbox.JavacTask;
+
+public class TestSerializedFormWithClassFile extends JavadocTester {
+
+    final ToolBox tb;
+
+    public static void main(String... args) throws Exception {
+        TestSerializedFormWithClassFile tester = new TestSerializedFormWithClassFile();
+        tester.runTests(m -> new Object[]{Paths.get(m.getName())});
+    }
+
+    TestSerializedFormWithClassFile() {
+        tb = new ToolBox();
+    }
+
+    @Test
+    void test(Path base) throws Exception {
+        Path srcDir = base.resolve("src");
+        createTestClass(base, srcDir);
+
+        Path outDir = base.resolve("out");
+        javadoc("-d", outDir.toString(),
+                "-linksource",
+                "-classpath", base.resolve("classes").toString(),
+                "-sourcepath", "",
+                srcDir.resolve("B.java").toString());
+
+        checkExit(Exit.OK);
+
+        checkOutput("serialized-form.html", true,
+                "<pre>public&nbsp;void&nbsp;readObject&#8203;"
+                + "(java.io.ObjectInputStream&nbsp;arg0)\n"
+                + "                throws java.lang.ClassNotFoundException,\n"
+                + "                       java.io.IOException</pre>\n");
+    }
+
+    void createTestClass(Path base, Path srcDir) throws Exception {
+        //create A.java , compile the class in classes dir
+        Path classes = base.resolve("classes");
+        tb.createDirectories(classes);
+
+        MethodBuilder method = MethodBuilder
+                .parse("public void readObject(ObjectInputStream s)"
+                        + "throws ClassNotFoundException, IOException {}")
+                .setComments(
+                    "@param s a serialization stream",
+                    "@throws ClassNotFoundException if class not found",
+                    "@throws java.io.IOException if an IO error",
+                    "@serial");
+
+        new ClassBuilder(tb, "A")
+                .setModifiers("public", "abstract", "class")
+                .addImplements("Serializable")
+                .addImports("java.io.*")
+                .addMembers(method)
+                .write(srcDir);
+        new JavacTask(tb).files(srcDir.resolve("A.java")).outdir(classes).run();
+
+        new ClassBuilder(tb, "B")
+                .setExtends("A")
+                .setModifiers("public", "class")
+                .write(srcDir);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testStylesheetOverwrite/TestStylesheetOverwrite.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,80 @@
+/* * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug      8196913
+ * @summary  javadoc does not (over)write stylesheet.css
+ * @library  /tools/lib ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build    JavadocTester toolbox.ToolBox builder.ClassBuilder
+ * @run main TestStylesheetOverwrite
+ */
+
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.List;
+
+import builder.ClassBuilder;
+import toolbox.ToolBox;
+
+public class TestStylesheetOverwrite extends JavadocTester {
+    final ToolBox tb;
+
+    public static void main(String... args) throws Exception {
+        TestStylesheetOverwrite tester = new TestStylesheetOverwrite();
+        tester.runTests(m -> new Object[]{Paths.get(m.getName())});
+    }
+
+    TestStylesheetOverwrite() {
+        tb = new ToolBox();
+    }
+
+    @Test
+    void testStylesheetFile(Path base) throws Exception {
+        Path srcDir = base.resolve("src");
+        createTestClass(srcDir);
+
+        Path outDir = base.resolve("out");
+
+        Files.createDirectory(outDir);
+        Path stylesheet = outDir.resolve("stylesheet.css");
+        Files.createFile(stylesheet);
+        Files.write(stylesheet, List.of("/* custom stylesheet */"));
+
+        setOutputDirectoryCheck(DirectoryCheck.NONE);
+
+        javadoc("-d", outDir.toString(),
+                "-sourcepath", srcDir.toString(),
+                "pkg");
+
+        checkExit(Exit.OK);
+        checkOutput("stylesheet.css", true, "Javadoc style sheet");
+    }
+
+    void createTestClass(Path srcDir) throws Exception {
+        new ClassBuilder(tb, "pkg.A")
+                .setModifiers("public", "class")
+                .write(srcDir);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testTaglets/TestTaglets.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug      8202947
+ * @summary  Test TagletManager initialization
+ * @library  /tools/lib ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build    toolbox.ToolBox JavadocTester
+ * @run main TestTaglets
+ */
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.List;
+
+import toolbox.ToolBox;
+
+/*
+ * This is a golden-file test for the output of the hidden
+ * option {@code --show-taglets}. The output is the basis
+ * for a table at the end of the doc comment specification,
+ * so changes in the golden output may indicate a need for
+ * a corresponding update to the spec.
+ */
+public class TestTaglets extends JavadocTester {
+
+    public static void main(String... args) throws Exception {
+        TestTaglets tester = new TestTaglets();
+        tester.runTests();
+    }
+
+    ToolBox tb = new ToolBox();
+    Path src;
+
+    TestTaglets() throws Exception {
+        src = Files.createDirectories(Paths.get("src"));
+        tb.writeJavaFiles(src, "public class Test { }\n");
+    }
+
+    @Test
+    void test() throws Exception {
+        javadoc("-d", "out",
+                "-javafx",
+                "--show-taglets",
+                src.resolve("Test.java").toString());
+        checkExit(Exit.OK);
+
+        checking("Checking ref file");
+        try {
+            List<String> refLines = tb.readAllLines(Paths.get(testSrc).resolve("TestTaglets.out"));
+            List<String> stdout = getOutputLines(Output.STDOUT);
+            tb.checkEqual(refLines, stdout);
+            passed("output is as expected");
+        } catch (Error e) {
+            failed("output not as expected: " + e.getMessage());
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testTaglets/TestTaglets.out	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,30 @@
+             @author: overview module package type ........... ...... ..... ...... disabled
+             {@code}: overview module package type constructor method field inline ........
+       @defaultValue: ........ ...... ....... .... ........... method field ...... ........
+         @deprecated: ........ module ....... type constructor method field ...... ........
+          {@docRoot}: overview module package type constructor method field inline ........
+          @exception: ........ ...... ....... .... constructor method ..... ...... ........
+            @factory: ........ ...... ....... .... ........... method ..... ...... ........
+             @hidden: ........ ...... ....... type ........... method field ...... ........
+            {@index}: overview module package type constructor method field inline ........
+       {@inheritDoc}: ........ ...... ....... type ........... method ..... inline ........
+             {@link}: overview module package type constructor method field inline ........
+        {@linkplain}: overview module package type constructor method field inline ........
+          {@literal}: overview module package type constructor method field inline ........
+              @param: ........ ...... ....... type constructor method ..... ...... ........
+@propertyDescription: ........ ...... ....... .... ........... method field ...... ........
+     @propertyGetter: ........ ...... ....... .... ........... method ..... ...... ........
+     @propertySetter: ........ ...... ....... .... ........... method ..... ...... ........
+           @provides: ........ module ....... .... ........... ...... ..... ...... ........
+             @return: ........ ...... ....... .... ........... method ..... ...... ........
+                @see: overview module package type constructor method field ...... ........
+             @serial: ........ ...... package type ........... ...... field ...... ........
+         @serialData: ........ ...... ....... .... ........... ...... ..... ...... ........
+        @serialField: ........ ...... ....... .... ........... ...... field ...... ........
+              @since: overview module package type constructor method field ...... ........
+          {@summary}: overview module package type constructor method field inline ........
+             @throws: ........ ...... ....... .... constructor method ..... ...... ........
+     @treatAsPrivate: ........ ...... ....... type ........... method field ...... ........
+               @uses: ........ module ....... .... ........... ...... ..... ...... ........
+            {@value}: overview ...... package type constructor method field inline ........
+            @version: overview module package type ........... ...... ..... ...... disabled
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testVersionTag/TestVersionTag.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug      8202947
+ * @summary  test the at-version tag, and corresponding option
+ * @library  /tools/lib ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build    toolbox.ToolBox JavadocTester
+ * @run main TestVersionTag
+ */
+
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import toolbox.ToolBox;
+
+public class TestVersionTag extends JavadocTester {
+
+    public static void main(String... args) throws Exception {
+        TestVersionTag tester = new TestVersionTag();
+        tester.runTests();
+    }
+
+    ToolBox tb = new ToolBox();
+    Path src;
+
+    TestVersionTag() throws Exception {
+        src = Files.createDirectories(Paths.get("src"));
+        tb.writeJavaFiles(src,
+                  "package pkg;\n"
+                + "/** Introduction. \n"
+                + " * @version 1.2.3\n"
+                + " */\n"
+                + "public class Test { }\n");
+    }
+
+    @Test
+    void testVersion() {
+        javadoc("-d", "out-version",
+                "-sourcepath", src.toString(),
+                "-version",
+                "pkg");
+        checkExit(Exit.OK);
+
+        checkVersion(true);
+    }
+
+    @Test
+    void testNoVersion() {
+        javadoc("-d", "out-noversion",
+                "-sourcepath", src.toString(),
+                "pkg");
+        checkExit(Exit.OK);
+
+        checkVersion(false);
+    }
+
+    void checkVersion(boolean on) {
+        checkOutput("pkg/Test.html", on,
+                "<dl>\n"
+                + "<dt><span class=\"simpleTagLabel\">Version:</span></dt>\n"
+                + "<dd>1.2.3</dd>\n"
+                + "</dl>");
+    }
+}
--- a/test/langtools/jdk/javadoc/tool/CheckResourceKeys.java	Thu May 24 12:32:00 2018 -0700
+++ b/test/langtools/jdk/javadoc/tool/CheckResourceKeys.java	Thu May 24 13:09:59 2018 -0700
@@ -168,6 +168,9 @@
             // ignore this partial key, tested by usageTests
             if (ck.equals("main.opt."))
                 continue;
+            // ignore this system property name
+            if (ck.equals("javadoc.internal.show.taglets"))
+                continue;
             if (resourceKeys.contains(ck))
                 continue;
             error("No resource for \"" + ck + "\"");
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/8013179/T8013179.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,15 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8013179
+ * @summary assertion failure in javac when compiling with -source 1.6 -target 1.6
+ * @compile/fail/ref=T8013179.out -source 6 -target 6 -Xlint:-options -XDrawDiagnostics T8013179.java
+ */
+
+import java.lang.invoke.MethodHandle;
+
+class T8013179 {
+    static MethodHandle getNamedMember;
+    public static Object getMember(String name, Object rec) throws Throwable {
+        return getNamedMember.invoke(rec, name);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/8013179/T8013179.out	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,2 @@
+T8013179.java:13:37: compiler.err.bad.target.sigpoly.call: 1.6, 1.7
+1 error
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/8133247/T8133247.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8133247
+ * @summary Use of HYPOTHETICAL flag in bridge generation logic leads to missing bridges in some cases
+ */
+
+import java.lang.reflect.Method;
+
+public class T8133247 {
+    public static void main(String[] args) throws Exception {
+        Method m = Class.forName("p.B").getMethod("f", Object.class);
+        m.invoke(new p.B(), new Object[]{null});
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/8133247/p/A.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p;
+
+class A<T> implements I<T> {
+    public void f(T t) {}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/8133247/p/B.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p;
+
+public class B extends A<String> {}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/8133247/p/I.java	Thu May 24 13:09:59 2018 -0700
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p;
+
+public interface I<T> {
+    void f(T t);
+}
--- a/test/langtools/tools/javac/diags/examples/MethodInvokedWithWrongNumberOfArgs.java	Thu May 24 12:32:00 2018 -0700
+++ b/test/langtools/tools/javac/diags/examples/MethodInvokedWithWrongNumberOfArgs.java	Thu May 24 13:09:59 2018 -0700
@@ -21,7 +21,7 @@
  * questions.
  */
 
-// key: compiler.err.method.invoked.with.incorrect.number.arguments
+// key: compiler.err.bad.target.sigpoly.call
 // options: -Xlint:-options -source 6 -target 6
 
 class MethodInvokedWithWrongNumberOfArgs {
--- a/test/langtools/tools/lib/toolbox/ToolBox.java	Thu May 24 12:32:00 2018 -0700
+++ b/test/langtools/tools/lib/toolbox/ToolBox.java	Thu May 24 13:09:59 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -142,7 +142,7 @@
             // report first difference
             for (int i = 0; i < Math.min(l1.size(), l2.size()); i++) {
                 String s1 = l1.get(i);
-                String s2 = l1.get(i);
+                String s2 = l2.get(i);
                 if (!Objects.equals(s1, s2)) {
                     throw new Error("comparison failed, index " + i +
                             ", (" + s1 + ":" + s2 + ")");