8199255: [TESTBUG] Open source VM testbase default methods tests
Summary: Open sourced default method tests
Reviewed-by: ccheung, iignatyev, erikj
--- a/make/test/JtregNativeHotspot.gmk Thu May 24 07:20:10 2018 +0800
+++ b/make/test/JtregNativeHotspot.gmk Wed May 23 17:09:49 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/test/hotspot/jtreg/TEST.groups Thu May 24 07:20:10 2018 +0800
+++ b/test/hotspot/jtreg/TEST.groups Wed May 23 17:09:49 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/vmTestbase/vm/runtime/defmeth/AccessibilityFlagsTest.java Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+ * @test
+ * @modules java.base/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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 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 Wed May 23 17:09:49 2018 -0700
@@ -0,0 +1,3 @@
+Premain-Class: vm.runtime.defmeth.shared.Util$Transformer
+Can-Retransform-Classes: true
+Can-Redefine-Classes: true