--- 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>
*
--- 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 {@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 (<exception> e) {
+ * Assert.assertEquals(<message>,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<InterfaceBuilder,Interface> { ...
+ * </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 void readObject​"
+ + "(java.io.ObjectInputStream 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 + ")");