8267095: Miscellaneous cleanups in vm.runtime.defmeth tests
Reviewed-by: dholmes, hseigel
This commit is contained in:
parent
6149b9ad75
commit
229a6e2f36
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -21,22 +21,44 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
*
|
||||
* @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
|
||||
* @library /vmTestbase /test/lib
|
||||
*
|
||||
* @comment build retransform.jar in current dir
|
||||
* @run 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
|
||||
*/
|
||||
package vm.runtime.defmeth;
|
||||
|
||||
import nsk.share.test.TestBase;
|
||||
import static jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||
import java.util.Set;
|
||||
|
||||
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;
|
||||
|
||||
import static jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||
import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
|
||||
/*
|
||||
* Test allowed combinations of access flags on methods in interfaces.
|
||||
* Based on assertions from JVMS8.
|
||||
* Based on assertions from JVMS.
|
||||
*/
|
||||
public class AccessibilityFlagsTest extends DefMethTest {
|
||||
public static void main(String[] args) {
|
||||
TestBase.runTest(new AccessibilityFlagsTest(), args);
|
||||
DefMethTest.runTest(AccessibilityFlagsTest.class,
|
||||
/* majorVer */ Set.of(MAX_MAJOR_VER),
|
||||
/* flags */ Set.of(0, ACC_SYNCHRONIZED),
|
||||
/* redefine */ Set.of(false, true),
|
||||
/* execMode */ Set.of(DIRECT, REFLECTION, INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY));
|
||||
}
|
||||
|
||||
/* ====================================================================== */
|
||||
@ -207,7 +229,6 @@ public class AccessibilityFlagsTest extends DefMethTest {
|
||||
// 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.
|
||||
|
||||
/**
|
||||
@ -222,22 +243,10 @@ public class AccessibilityFlagsTest extends DefMethTest {
|
||||
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,
|
||||
// it must not have any of its ACC_FINAL, ACC_NATIVE, ACC_PRIVATE, ACC_STATIC,
|
||||
// or ACC_SYNCHRONIZED flags set (8.4.3.1, 8.4.3.3, 8.4.3.4).
|
||||
|
||||
/**
|
||||
@ -326,26 +335,6 @@ public class AccessibilityFlagsTest extends DefMethTest {
|
||||
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));
|
||||
}
|
||||
|
||||
/* =============================================================================== */
|
||||
|
||||
/**
|
||||
|
@ -21,19 +21,36 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
*
|
||||
* @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
|
||||
* @library /vmTestbase /test/lib
|
||||
*
|
||||
* @comment build retransform.jar in current dir
|
||||
* @run 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
|
||||
*/
|
||||
|
||||
package vm.runtime.defmeth;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import nsk.share.TestFailure;
|
||||
import nsk.share.test.TestBase;
|
||||
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.data.*;
|
||||
import static jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||
import vm.runtime.defmeth.shared.DefMethTest;
|
||||
import vm.runtime.defmeth.shared.executor.TestExecutor;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import static jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||
import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
|
||||
/**
|
||||
@ -42,7 +59,11 @@ import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
public class BasicTest extends DefMethTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
TestBase.runTest(new BasicTest(), args);
|
||||
DefMethTest.runTest(BasicTest.class,
|
||||
/* majorVer */ Set.of(MIN_MAJOR_VER, MAX_MAJOR_VER),
|
||||
/* flags */ Set.of(0, ACC_SYNCHRONIZED),
|
||||
/* redefine */ Set.of(false, true),
|
||||
/* execMode */ Set.of(DIRECT, REFLECTION, INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -63,9 +84,7 @@ public class BasicTest extends DefMethTest {
|
||||
* objectref does not implement the resolved interface, invokevirtual throws
|
||||
* an IncompatibleClassChangeError.
|
||||
*/
|
||||
public void testInterfaceNotImplemented() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testInterfaceNotImplemented(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()V").emptyBody().build()
|
||||
.build();
|
||||
@ -92,9 +111,7 @@ public class BasicTest extends DefMethTest {
|
||||
expectedClass = IncompatibleClassChangeError.class;
|
||||
}
|
||||
|
||||
b.test().callSite(I, C, "m", "()V").throws_(expectedClass).done()
|
||||
|
||||
.run();
|
||||
b.test().callSite(I, C, "m", "()V").throws_(expectedClass).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -105,9 +122,7 @@ public class BasicTest extends DefMethTest {
|
||||
*
|
||||
* ...
|
||||
*/
|
||||
public void testNoMatch() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testNoMatch(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "(Ljava/lang/Object;)V").emptyBody().build()
|
||||
.build();
|
||||
@ -116,9 +131,7 @@ public class BasicTest extends DefMethTest {
|
||||
|
||||
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();
|
||||
.test().callSite(C, C, "m", "(I)V").throws_(NoSuchMethodError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -133,9 +146,7 @@ public class BasicTest extends DefMethTest {
|
||||
*
|
||||
* ...
|
||||
*/
|
||||
public void testNonPublic() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testNonPublic(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m1", "()V").private_().emptyBody().build()
|
||||
.defaultMethod("m2", "()I").private_().returns(1).build()
|
||||
@ -144,9 +155,7 @@ public class BasicTest extends DefMethTest {
|
||||
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();
|
||||
.test().callSite(C, C, "m2", "()I").throws_(NoSuchMethodError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -160,9 +169,7 @@ public class BasicTest extends DefMethTest {
|
||||
* }
|
||||
*
|
||||
*/
|
||||
public void testNonPublicOverride() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testNonPublicOverride(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -181,9 +188,7 @@ public class BasicTest extends DefMethTest {
|
||||
|
||||
b.test().callSite(I, C, "m", "()I").returns(1).done()
|
||||
.test().callSite(I, D, "m", "()I").throws_(IllegalAccessError.class).done()
|
||||
.test().callSite(I, E, "m", "()I").throws_(IllegalAccessError.class).done()
|
||||
|
||||
.run();
|
||||
.test().callSite(I, E, "m", "()I").throws_(IllegalAccessError.class).done();
|
||||
}
|
||||
|
||||
|
||||
@ -199,9 +204,7 @@ public class BasicTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testStaticInit(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("<clinit>", "()V")
|
||||
.flags(ACC_STATIC)
|
||||
@ -218,9 +221,7 @@ public class BasicTest extends DefMethTest {
|
||||
Class expectedError = isReflectionMode ? RuntimeException.class
|
||||
: ExceptionInInitializerError.class;
|
||||
|
||||
b.test().new_(C).throws_(expectedError).done()
|
||||
|
||||
.run();
|
||||
b.test().new_(C).throws_(expectedError).done();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -235,9 +236,7 @@ public class BasicTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testStaticInitPrivate(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("<clinit>", "()V")
|
||||
.flags(ACC_STATIC)
|
||||
@ -255,9 +254,7 @@ public class BasicTest extends DefMethTest {
|
||||
Class expectedError = isReflectionMode ? RuntimeException.class
|
||||
: ExceptionInInitializerError.class;
|
||||
|
||||
b.test().new_(C).throws_(expectedError).done()
|
||||
|
||||
.run();
|
||||
b.test().new_(C).throws_(expectedError).done();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -274,9 +271,7 @@ public class BasicTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testNotStaticInitNoDefault(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("<clinit>", "()V")
|
||||
.flags(ACC_STATIC)
|
||||
@ -291,9 +286,7 @@ public class BasicTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I,J).build();
|
||||
|
||||
b.test().callSite(C, C, "m", "()I").returns(1).done()
|
||||
|
||||
.run();
|
||||
b.test().callSite(C, C, "m", "()I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -313,9 +306,8 @@ public class BasicTest extends DefMethTest {
|
||||
// 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{
|
||||
public void testLoaderConstraint() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
ConcreteClass A = b.clazz("A").build();
|
||||
|
||||
Interface I = b.intf("I")
|
||||
@ -324,10 +316,10 @@ public class BasicTest extends DefMethTest {
|
||||
|
||||
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()
|
||||
b.test().callSite(I, C, "m", "()LA;").throws_(LinkageError.class).done();
|
||||
b.test().callSite(C, C, "m", "()LA;").throws_(LinkageError.class).done();
|
||||
|
||||
.prepare(new TestBuilder.LoaderConstructor() {
|
||||
TestExecutor executor = b.prepare(new TestBuilder.LoaderConstructor() {
|
||||
@Override
|
||||
public MemoryClassLoader construct(Map<String, byte[]> classFiles) {
|
||||
final byte[] cfI = classFiles.get("I");
|
||||
@ -371,6 +363,8 @@ public class BasicTest extends DefMethTest {
|
||||
|
||||
return l2;
|
||||
}
|
||||
}).run();
|
||||
});
|
||||
|
||||
executor.run();
|
||||
}
|
||||
}
|
||||
|
@ -21,15 +21,33 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
*
|
||||
* @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
|
||||
* @library /vmTestbase /test/lib
|
||||
*
|
||||
* @comment build retransform.jar in current dir
|
||||
* @run 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
|
||||
*/
|
||||
package vm.runtime.defmeth;
|
||||
|
||||
import nsk.share.test.TestBase;
|
||||
import java.util.Set;
|
||||
|
||||
import vm.runtime.defmeth.shared.DefMethTest;
|
||||
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.ACC_SYNCHRONIZED;
|
||||
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.*;
|
||||
|
||||
/**
|
||||
@ -49,7 +67,11 @@ import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
*/
|
||||
public class ConflictingDefaultsTest extends DefMethTest {
|
||||
public static void main(String[] args) {
|
||||
TestBase.runTest(new ConflictingDefaultsTest(), args);
|
||||
DefMethTest.runTest(ConflictingDefaultsTest.class,
|
||||
/* majorVer */ Set.of(MIN_MAJOR_VER, MAX_MAJOR_VER),
|
||||
/* flags */ Set.of(0, ACC_SYNCHRONIZED),
|
||||
/* redefine */ Set.of(false, true),
|
||||
/* execMode */ Set.of(DIRECT, REFLECTION, INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -61,9 +83,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
*
|
||||
* TEST: C c = new C(); c.m() ==> ICCE
|
||||
*/
|
||||
public void testConflict() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testConflict(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -76,9 +96,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
|
||||
b.test().callSite(C, C, "m","()I")
|
||||
.throws_(IncompatibleClassChangeError.class)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -90,9 +108,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
*
|
||||
* TEST: C c = new C(); c.m() return 2
|
||||
*/
|
||||
public void testMaximallySpecificDefault() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testMaximallySpecificDefault(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.abstractMethod("m", "()I").build()
|
||||
.build();
|
||||
@ -105,9 +121,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
|
||||
b.test().callSite(C, C, "m","()I")
|
||||
.returns(2)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -119,9 +133,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
*
|
||||
* TEST: C c = new C(); c.m() ==> AME
|
||||
*/
|
||||
public void testReabstract() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testReabstract(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -134,9 +146,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
|
||||
b.test().callSite(C, C, "m","()I")
|
||||
.throws_(AbstractMethodError.class)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -152,9 +162,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testReabstract2(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -179,9 +187,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
.done()
|
||||
.test().callSite(D, D, "m","()I")
|
||||
.throws_(AbstractMethodError.class)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -195,9 +201,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
*
|
||||
* TEST: A c = new C(); c.m() ==> AME
|
||||
*/
|
||||
public void testReabstractConflictingDefaults() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testReabstractConflictingDefaults(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -215,9 +219,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
|
||||
b.test().callSite(A, C, "m","()I")
|
||||
.throws_(AbstractMethodError.class)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
|
||||
@ -236,9 +238,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
* TEST: K k = new C(); k.m() ==> AME
|
||||
* TEST: L l = new D(); l.m() ==> AME
|
||||
*/
|
||||
public void testReabstractConflictingDefaultsInvokeInterface() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testReabstractConflictingDefaultsInvokeInterface(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -266,9 +266,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
.done()
|
||||
.test().callSite(L, D, "m","()I")
|
||||
.throws_(AbstractMethodError.class)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -286,9 +284,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
* TEST: K k = new C(); CallSuper k.m() ==> AME
|
||||
* TEST: L l = new D(); l.m() ==> AME
|
||||
*/
|
||||
public void testReabstractConflictingDefaultsSuper() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testReabstractConflictingDefaultsSuper(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -315,9 +311,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
.done()
|
||||
.test().callSite(L, D, "m","()I")
|
||||
.throws_(AbstractMethodError.class)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -345,9 +339,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
*/
|
||||
|
||||
@NotApplicableFor(modes = { REDEFINITION }) // Can't redefine a class that gets error during loading
|
||||
public void testReabstractResolveMethod00705m2() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testReabstractResolveMethod00705m2(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -394,9 +386,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
.done()
|
||||
.test().callSite(A, C, "test_Amethod_ISIMR", "()V")
|
||||
.throws_(expectedError2)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -408,9 +398,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
*
|
||||
* TEST: [I|J|C] c = new C(); c.m() == 2;
|
||||
*/
|
||||
public void testShadow() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testShadow(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -431,9 +419,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(C, C, "m","()I")
|
||||
.returns(2)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -445,9 +431,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
*
|
||||
* TEST: [I|J|C] c = new C(); c.m() == 2;
|
||||
*/
|
||||
public void testDisqualified() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testDisqualified(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -469,9 +453,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(C, C, "m","()I")
|
||||
.returns(2)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -485,9 +467,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
* TEST: J j = new C(); j.m() ==> NSME; j.m(0) == 2
|
||||
* TEST: C c = new C(); c.m() == 1; c.m(0) == 2
|
||||
*/
|
||||
public void testMixedArity1() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testMixedArity1(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -529,9 +509,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
.callSite(C, C, "m","(I)I")
|
||||
.params(0)
|
||||
.returns(2)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -545,9 +523,7 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testMixedArity2(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -581,8 +557,6 @@ public class ConflictingDefaultsTest extends DefMethTest {
|
||||
.callSite(C, C, "m","(I)I")
|
||||
.params(0)
|
||||
.returns(3)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
}
|
||||
|
@ -21,16 +21,31 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
*
|
||||
* @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
|
||||
* @library /vmTestbase /test/lib
|
||||
*
|
||||
* @comment build retransform.jar in current dir
|
||||
* @run 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
|
||||
*/
|
||||
package vm.runtime.defmeth;
|
||||
|
||||
import nsk.share.test.TestBase;
|
||||
import java.util.Set;
|
||||
|
||||
import vm.runtime.defmeth.shared.DefMethTest;
|
||||
import vm.runtime.defmeth.shared.data.*;
|
||||
import vm.runtime.defmeth.shared.data.method.param.NewInstanceParam;
|
||||
import vm.runtime.defmeth.shared.builder.TestBuilder;
|
||||
|
||||
import static jdk.internal.org.objectweb.asm.Opcodes.ACC_SYNCHRONIZED;
|
||||
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
|
||||
@ -46,7 +61,11 @@ import static vm.runtime.defmeth.shared.data.method.body.CallMethod.IndexbyteOp.
|
||||
public class DefaultVsAbstractTest extends DefMethTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
TestBase.runTest(new DefaultVsAbstractTest(), args);
|
||||
DefMethTest.runTest(DefaultVsAbstractTest.class,
|
||||
/* majorVer */ Set.of(MIN_MAJOR_VER, MAX_MAJOR_VER),
|
||||
/* flags */ Set.of(0, ACC_SYNCHRONIZED),
|
||||
/* redefine */ Set.of(false, true),
|
||||
/* execMode */ Set.of(DIRECT, REFLECTION, INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -55,9 +74,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
*
|
||||
* TEST: new C() throws InstantiationError
|
||||
*/
|
||||
public void test0() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void test0(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -69,8 +86,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
b.test()
|
||||
.callSite(I, C, "m", "()I")
|
||||
.throws_(InstantiationError.class)
|
||||
.done()
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -86,9 +102,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
* TEST: C c = new D(); c.m() ==> AME
|
||||
* TEST: D d = new D(); d.m() ==> AME
|
||||
*/
|
||||
public void test1() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void test1(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -110,8 +124,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(D, D, "m", "()I")
|
||||
.throws_(AbstractMethodError.class)
|
||||
.done()
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -127,9 +140,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
* TEST: C o = new D(); o.m()I throws AME
|
||||
* TEST: D o = new D(); o.m()I throws AME
|
||||
*/
|
||||
public void test2() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void test2(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -151,8 +162,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(D, D, "m", "()I")
|
||||
.throws_(AbstractMethodError.class)
|
||||
.done()
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -170,9 +180,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void test3(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -194,8 +202,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
.done()
|
||||
.test() // D d = new C(); ...
|
||||
.callSite(D, D, "m", "()I").returns(2)
|
||||
.done()
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -213,9 +220,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
* TEST: D o = new C(); o.m()I throws AME
|
||||
* TEST: C o = new C(); o.m()I throws AME
|
||||
*/
|
||||
public void test4() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void test4(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -243,8 +248,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
.test() // C c = new C(); ...
|
||||
.callSite(C, C, "m", "()I")
|
||||
.throws_(AbstractMethodError.class)
|
||||
.done()
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -264,9 +268,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void test5(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -296,8 +298,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
.test() // C c = new C(); ...
|
||||
.callSite(I, C, "m", "()I")
|
||||
.returns(2)
|
||||
.done()
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -321,9 +322,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void test6(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -357,8 +356,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
.done()
|
||||
.test() // C c = new C(); ...
|
||||
.callSite(J, C, "m", "()I").returns(3)
|
||||
.done()
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -378,9 +376,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
* returns 1 for REFLECTION and INVOKE_WITH_ARGS
|
||||
* ICCE for other modes
|
||||
*/
|
||||
public void testInvokeInterfaceClassDefaultMethod() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testInvokeInterfaceClassDefaultMethod(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.abstractMethod("m", "()I").build()
|
||||
.build();
|
||||
@ -409,16 +405,14 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
if (exeMode.equals("REFLECTION") ||
|
||||
exeMode.equals("INVOKE_WITH_ARGS")) {
|
||||
b.test().interfaceCallSite(A, B, "m", "()I")
|
||||
.returns(1).done()
|
||||
.run();
|
||||
.returns(1).done();
|
||||
} 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();
|
||||
.throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
}
|
||||
|
||||
@ -437,9 +431,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
*
|
||||
* TEST: A o = new B(); o.m()I throws ICCE
|
||||
*/
|
||||
public void testInvokeInterfaceClassAbstractMethod() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testInvokeInterfaceClassAbstractMethod(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.abstractMethod("m", "()I").build()
|
||||
.build();
|
||||
@ -456,9 +448,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
// 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();
|
||||
|
||||
.throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -476,9 +466,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
*
|
||||
* TEST: A o = new B(); o.m()I throws ICCE
|
||||
*/
|
||||
public void testInvokeInterfaceMultipleDefinedClassDefaultMethod() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testInvokeInterfaceMultipleDefinedClassDefaultMethod(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -495,8 +483,7 @@ public class DefaultVsAbstractTest extends DefMethTest {
|
||||
// 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();
|
||||
.throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -21,14 +21,31 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
*
|
||||
* @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
|
||||
* @library /vmTestbase /test/lib
|
||||
*
|
||||
* @comment build retransform.jar in current dir
|
||||
* @run 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
|
||||
*/
|
||||
package vm.runtime.defmeth;
|
||||
|
||||
import nsk.share.test.TestBase;
|
||||
import java.util.Set;
|
||||
|
||||
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 jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||
import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
|
||||
/**
|
||||
@ -68,7 +85,11 @@ import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
public class MethodResolutionTest extends DefMethTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
TestBase.runTest(new MethodResolutionTest(), args);
|
||||
DefMethTest.runTest(MethodResolutionTest.class,
|
||||
/* majorVer */ Set.of(MIN_MAJOR_VER, MAX_MAJOR_VER),
|
||||
/* flags */ Set.of(0, ACC_SYNCHRONIZED),
|
||||
/* redefine */ Set.of(false, true),
|
||||
/* execMode */ Set.of(DIRECT, REFLECTION, INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -80,9 +101,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
* TEST: C c = new C(); c.m() == 1;
|
||||
* TEST: I i = new C(); i.m() == 1;
|
||||
*/
|
||||
public void testBasic() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testBasic(TestBuilder b) {
|
||||
Interface I =
|
||||
b.intf("I")
|
||||
.abstractMethod("m", "()I").build()
|
||||
@ -100,8 +119,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(C, C, "m", "()I")
|
||||
.returns(1)
|
||||
.done()
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -113,9 +131,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
* TEST: C c = new C(); c.m() == 1;
|
||||
* TEST: I i = new C(); i.m() == 1;
|
||||
*/
|
||||
public void testBasicDefault() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testBasicDefault(TestBuilder b) {
|
||||
Interface I =
|
||||
b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1)
|
||||
@ -132,9 +148,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.done()
|
||||
.test().callSite(C, C, "m", "()I")
|
||||
.returns(1)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -147,9 +161,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
*
|
||||
* TEST: [I|J|K|C] i = new C(); i.m() == 1;
|
||||
*/
|
||||
public void testFarDefault() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testFarDefault(TestBuilder b) {
|
||||
Interface I =
|
||||
b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1)
|
||||
@ -175,9 +187,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.done()
|
||||
.test().callSite(C, C, "m", "()I")
|
||||
.returns(1)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -191,9 +201,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
* TEST: C c = new C(); c.m() == 1;
|
||||
* TEST: K k = new C(); k.m() == 1;
|
||||
*/
|
||||
public void testOverrideAbstract() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testOverrideAbstract(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.abstractMethod("m", "()I").build()
|
||||
.build();
|
||||
@ -221,9 +229,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(C, C, "m", "()I")
|
||||
.returns(1)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -234,9 +240,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
*
|
||||
* TEST: [C|I] c = new C(); c.m() == 2;
|
||||
*/
|
||||
public void testDefaultVsConcrete() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testDefaultVsConcrete(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -252,9 +256,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(C, C, "m", "()I")
|
||||
.returns(2)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -266,9 +268,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
*
|
||||
* TEST: [I|B|C] v = new C(); v.m() == 1;
|
||||
*/
|
||||
public void testInheritedDefault() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testInheritedDefault(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -287,9 +287,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(C, C, "m","()I")
|
||||
.returns(1)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -301,9 +299,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
*
|
||||
* TEST: [I|B|C] v = new C(); v.m() == 2;
|
||||
*/
|
||||
public void testExistingInherited() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testExistingInherited(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -325,9 +321,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(C, C, "m","()I")
|
||||
.returns(2)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -339,9 +333,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
*
|
||||
* TEST: [I|B|D] v = new C(); v.m() == 3;
|
||||
*/
|
||||
public void testExistingInheritedOverride() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testExistingInheritedOverride(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -365,9 +357,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(C, C, "m","()I")
|
||||
.returns(3)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -381,9 +371,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
*
|
||||
* TEST: [I|J|C|D|J] v = new E(); v.m() == 22;
|
||||
*/
|
||||
public void testExistingInheritedPlusDefault() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testExistingInheritedPlusDefault(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(11).build()
|
||||
.build();
|
||||
@ -422,9 +410,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(E, E, "m","()I")
|
||||
.returns(22)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -436,9 +422,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
*
|
||||
* TEST: [I|B|C] v = new C(); v.m() == 2;
|
||||
*/
|
||||
public void testInheritedWithConcrete() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testInheritedWithConcrete(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -460,9 +444,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(C, C, "m","()I")
|
||||
.returns(2)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -474,9 +456,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
*
|
||||
* TEST: [I|B|C] v = new C(); v.m() == 2;
|
||||
*/
|
||||
public void testInheritedWithConcreteAndImpl() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testInheritedWithConcreteAndImpl(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -498,9 +478,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(C, C, "m","()I")
|
||||
.returns(2)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -513,9 +491,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
*
|
||||
* TEST: [I|J|K|C] c = new C(); c.m() == 99
|
||||
*/
|
||||
public void testDiamond() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testDiamond(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -541,9 +517,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(C, C, "m","()I")
|
||||
.returns(1)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -558,9 +532,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
*
|
||||
* TEST: [I|J|K|L|M|C] c = new C(); c.m() == 1
|
||||
*/
|
||||
public void testExpandedDiamond() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testExpandedDiamond(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -596,9 +568,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.test()
|
||||
.callSite(C, C, "m","()I")
|
||||
.returns(1)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -614,9 +584,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testSelfFillWithExplicitBridge(TestBuilder b) {
|
||||
/* interface I<T> { ... */
|
||||
Interface I = b.intf("I").sig("<T:Ljava/lang/Object;>Ljava/lang/Object;")
|
||||
/* default int m(T t) { return 1; } */
|
||||
@ -656,9 +624,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
.callSite(C, C, "m", "(LC;)I")
|
||||
.params(new NullParam())
|
||||
.returns(2)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -689,8 +655,6 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
b.test().callSite(C, C, "m", "(I)I").params(ICONST_0)
|
||||
.returns(2)
|
||||
.build();
|
||||
|
||||
b.run();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -702,9 +666,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
* TEST: J j = new C(); j.m() ==> NSME; j.m(0) == 2
|
||||
* TEST: C c = new C(); c.m() == 1; c.m(0) == 2
|
||||
*/
|
||||
public void testConflictingDefaultMixedArity1() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testConflictingDefaultMixedArity1(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1)
|
||||
.build()
|
||||
@ -741,8 +703,6 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
b.test().callSite(C, C, "m", "(I)I").params(ICONST_0)
|
||||
.returns(2)
|
||||
.build();
|
||||
|
||||
b.run();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -756,9 +716,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
* TEST: J j = new C(); j.m(0) ==> ICCE
|
||||
* TEST: C c = new C(); c.m() ==> ICCE; c.m(0) == 3
|
||||
*/
|
||||
public void testConflictingDefaultMixedArity2() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testConflictingDefaultMixedArity2(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1)
|
||||
.build()
|
||||
@ -797,8 +755,6 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
b.test().callSite(C, C, "m", "(I)I").params(ICONST_0)
|
||||
.returns(3)
|
||||
.build();
|
||||
|
||||
b.run();
|
||||
}
|
||||
|
||||
/* In package1:
|
||||
@ -813,11 +769,9 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
* 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();
|
||||
public void testMethodResolvedInDifferentPackage(TestBuilder b) {
|
||||
Interface I = b.intf("p1.I").flags(~ACC_PUBLIC & ACC_PUBLIC) // make it package private
|
||||
.defaultMethod("m", "()I").returns(10)
|
||||
.build()
|
||||
@ -832,18 +786,14 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
b.test()
|
||||
.callSite(myA, myA, "m", "()I")
|
||||
.returns(10)
|
||||
.done()
|
||||
.run();
|
||||
// -mode reflect will fail with IAE as expected
|
||||
} else {
|
||||
.done();
|
||||
} else {
|
||||
// -mode reflect will fail with IAE as expected
|
||||
b.test()
|
||||
.callSite(myA, myA, "m", "()I")
|
||||
.throws_(IllegalAccessException.class)
|
||||
.done()
|
||||
.run();
|
||||
}
|
||||
|
||||
ConcreteClass myB = b.clazz("p2.B").build();
|
||||
.done();
|
||||
}
|
||||
}
|
||||
|
||||
/* In package p1:
|
||||
@ -867,8 +817,7 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
* myA.m(); // should return 13, not throw IllegalAccessError
|
||||
*/
|
||||
|
||||
public void testMethodResolvedInLocalFirst() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
public void testMethodResolvedInLocalFirst(TestBuilder b) {
|
||||
Interface I = b.intf("p1.I")
|
||||
.defaultMethod("m", "()I").returns(12)
|
||||
.build()
|
||||
@ -889,7 +838,6 @@ public class MethodResolutionTest extends DefMethTest {
|
||||
b.test()
|
||||
.callSite(myB, myB, "m", "()I")
|
||||
.returns(13)
|
||||
.done()
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -21,30 +21,49 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
*
|
||||
* @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
|
||||
* @library /vmTestbase /test/lib
|
||||
*
|
||||
* @comment build retransform.jar in current dir
|
||||
* @run 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
|
||||
*/
|
||||
package vm.runtime.defmeth;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
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;
|
||||
|
||||
import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
import static vm.runtime.defmeth.shared.data.method.body.CallMethod.IndexbyteOp.*;
|
||||
|
||||
/**
|
||||
* 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);
|
||||
DefMethTest.runTest(ObjectMethodOverridesTest.class,
|
||||
/* majorVer */ Set.of(MAX_MAJOR_VER),
|
||||
/* flags */ Set.of(0),
|
||||
/* redefine */ Set.of(false, true),
|
||||
/* execMode */ Set.of(DIRECT, REFLECTION, INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY));
|
||||
}
|
||||
|
||||
/* protected Object clone() */
|
||||
public void testClone() throws Exception {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testClone(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("clone", "()Ljava/lang/Object;")
|
||||
.throw_(TestFailure.class)
|
||||
@ -62,15 +81,11 @@ public class ObjectMethodOverridesTest extends DefMethTest {
|
||||
|
||||
b.test().callSite(C, C, "m", "()V")
|
||||
.throws_(CloneNotSupportedException.class)
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/* boolean equals(Object obj) */
|
||||
public void testEquals() throws Exception {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testEquals(TestBuilder b) throws ReflectiveOperationException {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("equals", "(Ljava/lang/Object;)Z")
|
||||
.throw_(TestFailure.class)
|
||||
@ -79,16 +94,16 @@ public class ObjectMethodOverridesTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
ClassLoader cl = b.build();
|
||||
Object c = cl.loadClass("C").newInstance();
|
||||
|
||||
c.equals(this);
|
||||
b.test().callSite(I, C, "equals", "(Ljava/lang/Object;)Z")
|
||||
.ignoreResult()
|
||||
.done();
|
||||
b.test().callSite(C, C, "equals", "(Ljava/lang/Object;)Z")
|
||||
.ignoreResult()
|
||||
.done();
|
||||
}
|
||||
|
||||
/* void finalize() */
|
||||
public void testFinalize() throws Exception {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testFinalize(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("finalize", "()V")
|
||||
.throw_(TestFailure.class)
|
||||
@ -105,15 +120,11 @@ public class ObjectMethodOverridesTest extends DefMethTest {
|
||||
|
||||
b.test().callSite(C, C, "m", "()V")
|
||||
.ignoreResult()
|
||||
.done()
|
||||
|
||||
.run();
|
||||
.done();
|
||||
}
|
||||
|
||||
/* final Class<?> getClass() */
|
||||
public void testGetClass() throws Exception {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testGetClass(TestBuilder b) throws Exception {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("getClass", "()Ljava/lang/Class;")
|
||||
.sig("()Ljava/lang/Class<*>;")
|
||||
@ -123,14 +134,12 @@ public class ObjectMethodOverridesTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
b.test().loadClass(I).throws_(IncompatibleClassChangeError.class).done()
|
||||
.run();
|
||||
b.test().loadClass(I).throws_(IncompatibleClassChangeError.class).done();
|
||||
b.test().loadClass(C).throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
/* int hashCode() */
|
||||
public void testHashCode() throws Exception {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testHashCode(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("hashCode", "()I")
|
||||
.throw_(TestFailure.class)
|
||||
@ -139,17 +148,17 @@ public class ObjectMethodOverridesTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
ClassLoader cl = b.build();
|
||||
Object c = cl.loadClass("C").newInstance();
|
||||
|
||||
c.hashCode();
|
||||
b.test().callSite(I, C, "hashCode", "()I")
|
||||
.ignoreResult()
|
||||
.done();
|
||||
b.test().callSite(C, C, "hashCode", "()I")
|
||||
.ignoreResult()
|
||||
.done();
|
||||
}
|
||||
|
||||
|
||||
/* final void notify() */
|
||||
public void testNotify() throws Exception {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testNotify(TestBuilder b) throws Exception {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("notify", "()V")
|
||||
.throw_(TestFailure.class)
|
||||
@ -158,14 +167,12 @@ public class ObjectMethodOverridesTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
b.test().loadClass(I).throws_(IncompatibleClassChangeError.class).done()
|
||||
.run();
|
||||
b.test().loadClass(I).throws_(IncompatibleClassChangeError.class).done();
|
||||
b.test().loadClass(C).throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
/* void notifyAll() */
|
||||
public void testNotifyAll() throws Exception {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testNotifyAll(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("notifyAll", "()V")
|
||||
.throw_(TestFailure.class)
|
||||
@ -174,14 +181,12 @@ public class ObjectMethodOverridesTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
b.test().loadClass(I).throws_(IncompatibleClassChangeError.class).done()
|
||||
.run();
|
||||
b.test().loadClass(I).throws_(IncompatibleClassChangeError.class).done();
|
||||
b.test().loadClass(C).throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
/* String toString() */
|
||||
public void testToString() throws Exception {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testToString(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("toString()", "()Ljava/lang/String;")
|
||||
.throw_(TestFailure.class)
|
||||
@ -190,16 +195,23 @@ public class ObjectMethodOverridesTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
ClassLoader cl = b.build();
|
||||
Object c = cl.loadClass("C").newInstance();
|
||||
|
||||
c.toString();
|
||||
if (factory.getExecutionMode() == "REFLECTION") {
|
||||
// Class.get*Method() don't find any implicitly declared method from Object on interfaces.
|
||||
b.test().callSite(I, C, "toString", "()Ljava/lang/String;")
|
||||
.throws_(NoSuchMethodException.class)
|
||||
.done();
|
||||
} else {
|
||||
b.test().callSite(I, C, "toString", "()Ljava/lang/String;")
|
||||
.ignoreResult()
|
||||
.done();
|
||||
}
|
||||
b.test().callSite(C, C, "toString", "()Ljava/lang/String;")
|
||||
.ignoreResult()
|
||||
.done();
|
||||
}
|
||||
|
||||
/* final void wait() */
|
||||
public void testWait() throws Exception {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testWait(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("wait", "()V")
|
||||
.throw_(TestFailure.class)
|
||||
@ -208,14 +220,12 @@ public class ObjectMethodOverridesTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
b.test().loadClass(I).throws_(IncompatibleClassChangeError.class).done()
|
||||
.run();
|
||||
b.test().loadClass(I).throws_(IncompatibleClassChangeError.class).done();
|
||||
b.test().loadClass(C).throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
/* final void wait(long timeout) */
|
||||
public void testTimedWait() throws Exception {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testTimedWait(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("wait", "(J)V")
|
||||
.throw_(TestFailure.class)
|
||||
@ -224,14 +234,12 @@ public class ObjectMethodOverridesTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
b.test().loadClass(I).throws_(IncompatibleClassChangeError.class).done()
|
||||
.run();
|
||||
b.test().loadClass(I).throws_(IncompatibleClassChangeError.class).done();
|
||||
b.test().loadClass(C).throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
/* final void wait(long timeout, int nanos) */
|
||||
public void testTimedWait1() throws Exception {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testTimedWait1(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("wait", "(JI)V")
|
||||
.throw_(TestFailure.class)
|
||||
@ -240,7 +248,7 @@ public class ObjectMethodOverridesTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
b.test().loadClass(I).throws_(IncompatibleClassChangeError.class).done()
|
||||
.run();
|
||||
b.test().loadClass(I).throws_(IncompatibleClassChangeError.class).done();
|
||||
b.test().loadClass(C).throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
}
|
||||
|
@ -21,15 +21,33 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
*
|
||||
* @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
|
||||
* @library /vmTestbase /test/lib
|
||||
*
|
||||
* @comment build retransform.jar in current dir
|
||||
* @run 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
|
||||
*/
|
||||
package vm.runtime.defmeth;
|
||||
|
||||
import nsk.share.test.TestBase;
|
||||
import java.util.Set;
|
||||
|
||||
import vm.runtime.defmeth.shared.DefMethTest;
|
||||
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.ACC_SYNCHRONIZED;
|
||||
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.*;
|
||||
|
||||
/**
|
||||
@ -38,7 +56,11 @@ import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
public class PrivateMethodsTest extends DefMethTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
TestBase.runTest(new PrivateMethodsTest(), args);
|
||||
DefMethTest.runTest(PrivateMethodsTest.class,
|
||||
/* majorVer */ Set.of(MIN_MAJOR_VER, MAX_MAJOR_VER),
|
||||
/* flags */ Set.of(0, ACC_SYNCHRONIZED),
|
||||
/* redefine */ Set.of(false, true),
|
||||
/* execMode */ Set.of(DIRECT, REFLECTION, INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY));
|
||||
}
|
||||
|
||||
// invokevirtual & invokeinterface from same/subintf
|
||||
@ -72,9 +94,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testPrivateInvokeVirtual(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("privateM", "()I")
|
||||
.private_().returns(1).build()
|
||||
@ -87,9 +107,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
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();
|
||||
.test().callSite(C, C, "m", "()I").throws_(VerifyError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -104,9 +122,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* TEST: I o = new C(); o.m()I returns 1
|
||||
* TEST: C o = new C(); o.m()I returns 1
|
||||
*/
|
||||
public void testPrivateInvokeIntf() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testPrivateInvokeIntf(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("privateM", "()I")
|
||||
.private_().returns(1).build()
|
||||
@ -117,9 +133,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
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();
|
||||
.test().callSite(C, C, "m", "()I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -134,9 +148,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* TEST: I o = new C(); o.m()I throws IncompatibleClassChangeError
|
||||
* TEST: C o = new C(); o.m()I throws IncompatibleClassChangeError
|
||||
*/
|
||||
public void testPrivateInvokeStatic() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testPrivateInvokeStatic(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("privateM", "()I")
|
||||
.private_().returns(1).build()
|
||||
@ -147,9 +159,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
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();
|
||||
.test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
// call from another default method in the same interface
|
||||
@ -165,9 +175,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testPrivateCallSameClass(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("privateM", "()I")
|
||||
.private_().returns(1).build()
|
||||
@ -178,9 +186,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
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();
|
||||
.test().callSite(C, C, "m", "()I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -213,9 +219,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testPrivateCallSubIntf(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("privateM", "()I")
|
||||
.private_().returns(1).build()
|
||||
@ -250,9 +254,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
.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();
|
||||
.test().callSite(E, E, "m", "()I").throws_(VerifyError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -276,9 +278,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* TEST: { E o = new E(); o.m()I throws NoSuchMethodError (or VerifyError); }
|
||||
*/
|
||||
@NotApplicableFor(modes = { REDEFINITION }) // Can't redefine a class that gets error during loading
|
||||
public void testPrivateCallImplClass() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testPrivateCallImplClass(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("privateM", "()I")
|
||||
.private_().returns(1).build()
|
||||
@ -313,9 +313,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
}
|
||||
b.test().callSite(C, C, "m", "()I").throws_(ccExpectedClass).done()
|
||||
.test().callSite(D, D, "m", "()I").throws_(VerifyError.class).done()
|
||||
.test().callSite(E, E, "m", "()I").throws_(eeExpectedClass).done()
|
||||
|
||||
.run();
|
||||
.test().callSite(E, E, "m", "()I").throws_(eeExpectedClass).done();
|
||||
}
|
||||
|
||||
// doesn't participate in default method analysis
|
||||
@ -332,9 +330,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* TEST: { I o = new C(); o.m()I throws IllegalAccessError; }
|
||||
* TEST: { C o = new C(); o.m()I throws NoSuchMethodError; }
|
||||
*/
|
||||
public void testPrivate() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testPrivate(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.private_().returns(1).build()
|
||||
@ -343,9 +339,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
b.test().privateCallSite(I, C, "m", "()I").throws_(IllegalAccessError.class).done()
|
||||
.test(). callSite(C, C, "m", "()I").throws_(NoSuchMethodError.class).done()
|
||||
|
||||
.run();
|
||||
.test(). callSite(C, C, "m", "()I").throws_(NoSuchMethodError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -361,9 +355,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* TEST: { I o = new C(); o.m()I == IllegalAccessError; }
|
||||
* TEST: { C o = new C(); o.m()I == 2; }
|
||||
*/
|
||||
public void testPrivateVsConcrete() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testPrivateVsConcrete(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.private_().returns(1).build()
|
||||
@ -374,9 +366,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
.build();
|
||||
|
||||
b.test().privateCallSite(I, C, "m", "()I").throws_(IllegalAccessError.class).done()
|
||||
.test(). callSite(C, C, "m", "()I").returns(2).done()
|
||||
|
||||
.run();
|
||||
.test(). callSite(C, C, "m", "()I").returns(2).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -394,9 +384,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testPublicOverridePrivate(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.private_().returns(1).build()
|
||||
@ -411,9 +399,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
|
||||
b.test().privateCallSite(I, C, "m", "()I").throws_(IllegalAccessError.class).done()
|
||||
.test(). callSite(J, C, "m", "()I").returns(2).done()
|
||||
.test(). callSite(C, C, "m", "()I").returns(2).done()
|
||||
|
||||
.run();
|
||||
.test(). callSite(C, C, "m", "()I").returns(2).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -431,9 +417,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* TEST: { J o = new C(); o.m()I == IllegalAccessError; } II J.m priv
|
||||
* TEST: { C o = new C(); o.m()I == 1; }
|
||||
*/
|
||||
public void testPrivateOverrideDefault() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testPrivateOverrideDefault(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.returns(1).build()
|
||||
@ -448,9 +432,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
|
||||
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();
|
||||
.test().callSite(C, C, "m", "()I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -468,9 +450,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testPrivateReabstract(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.private_().returns(1).build()
|
||||
@ -484,9 +464,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
|
||||
b.test().privateCallSite(I, C, "m", "()I").throws_(IllegalAccessError.class).done()
|
||||
.test(). callSite(J, C, "m", "()I").throws_(AbstractMethodError.class).done()
|
||||
.test(). callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done()
|
||||
|
||||
.run();
|
||||
.test(). callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -504,9 +482,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* TEST: { J o = new C(); o.m()I throws IllegalAccessError }
|
||||
* TEST: { C o = new C(); o.m()I throws AbstractMethodError }
|
||||
*/
|
||||
public void testPrivateOverrideAbstract() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testPrivateOverrideAbstract(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.abstractMethod("m", "()I").build()
|
||||
.build();
|
||||
@ -520,8 +496,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
|
||||
b.test().callSite(I, C, "m", "()I").throws_(AbstractMethodError.class).done()
|
||||
.test().privateCallSite(J, C, "m", "()I").throws_(IllegalAccessError.class).done()
|
||||
.test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done()
|
||||
.run();
|
||||
.test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -537,9 +512,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* TEST: { B o = new C(); o.m()I throws NoSuchMethodError }
|
||||
* TEST: { C o = new C(); o.m()I throws NoSuchMethodError }
|
||||
*/
|
||||
public void testPrivateInherited() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testPrivateInherited(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.private_().returns(1).build()
|
||||
@ -550,10 +523,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
|
||||
b.test().privateCallSite(I, C, "m","()I").throws_(IllegalAccessError.class).done()
|
||||
.test(). callSite(B, C, "m","()I").throws_(NoSuchMethodError.class).done()
|
||||
.test(). callSite(C, C, "m","()I").throws_(NoSuchMethodError.class).done()
|
||||
|
||||
.run();
|
||||
|
||||
.test(). callSite(C, C, "m","()I").throws_(NoSuchMethodError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -571,9 +541,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* TEST: { B o = new C(); o.m()I == 2; }
|
||||
* TEST: { C o = new C(); o.m()I == 2; }
|
||||
*/
|
||||
public void testPrivateVsConcreteInherited() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testPrivateVsConcreteInherited(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.private_().returns(1).build()
|
||||
@ -587,9 +555,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
|
||||
b.test().privateCallSite(I, C, "m","()I").throws_(IllegalAccessError.class).done()
|
||||
.test(). callSite(B, C, "m","()I").returns(2).done()
|
||||
.test(). callSite(C, C, "m","()I").returns(2).done()
|
||||
|
||||
.run();
|
||||
.test(). callSite(C, C, "m","()I").returns(2).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -609,9 +575,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testPrivateConflict(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").private_().returns(1).build()
|
||||
.build();
|
||||
@ -624,9 +588,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
|
||||
b.test().privateCallSite(I, C, "m", "()I").throws_(IllegalAccessError.class).done()
|
||||
.test(). callSite(J, C, "m", "()I").returns(2).done()
|
||||
.test(). callSite(C, C, "m", "()I").returns(2).done()
|
||||
|
||||
.run();
|
||||
.test(). callSite(C, C, "m", "()I").returns(2).done();
|
||||
}
|
||||
/*
|
||||
* testPrivateSuperClassMethodNoDefaultMethod
|
||||
@ -647,9 +609,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
*
|
||||
* TEST: { B b = new C(); b.m()I throws IllegalAccessError; }
|
||||
*/
|
||||
public void testPrivateSuperClassMethodNoDefaultMethod() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testPrivateSuperClassMethodNoDefaultMethod(TestBuilder b) {
|
||||
ConcreteClass A = b.clazz("A")
|
||||
.concreteMethod("m", "()I").private_().returns(1).build()
|
||||
.build();
|
||||
@ -664,9 +624,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
.concreteMethod("m", "()I").public_().returns(2).build()
|
||||
.build();
|
||||
|
||||
b.test().privateCallSite(B, C, "m", "()I").throws_(IllegalAccessError.class).done()
|
||||
.run();
|
||||
|
||||
b.test().privateCallSite(B, C, "m", "()I").throws_(IllegalAccessError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -688,9 +646,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
*
|
||||
* TEST: { B b = new C(); b.m()I throws IllegalAccessError; }
|
||||
*/
|
||||
public void testPrivateSuperClassMethodDefaultMethod() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testPrivateSuperClassMethodDefaultMethod(TestBuilder b) {
|
||||
ConcreteClass A = b.clazz("A")
|
||||
.concreteMethod("m", "()I").private_().returns(1).build()
|
||||
.build();
|
||||
@ -705,8 +661,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
.concreteMethod("m", "()I").public_().returns(2).build()
|
||||
.build();
|
||||
|
||||
b.test().privateCallSite(B, C, "m", "()I").throws_(IllegalAccessError.class).done()
|
||||
.run();
|
||||
b.test().privateCallSite(B, C, "m", "()I").throws_(IllegalAccessError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -726,9 +681,7 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
*
|
||||
* TEST: { B b = new C(); b.m()I throws IllegalAccessError; }
|
||||
*/
|
||||
public void testPrivateSuperClassMethodDefaultMethodNoOverride() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testPrivateSuperClassMethodDefaultMethodNoOverride(TestBuilder b) {
|
||||
ConcreteClass A = b.clazz("A")
|
||||
.concreteMethod("m", "()I").private_().returns(1).build()
|
||||
.build();
|
||||
@ -741,8 +694,6 @@ public class PrivateMethodsTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").extend(B).build();
|
||||
|
||||
b.test().privateCallSite(B, C, "m", "()I").throws_(IllegalAccessError.class).done()
|
||||
.run();
|
||||
b.test().privateCallSite(B, C, "m", "()I").throws_(IllegalAccessError.class).done();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
|
||||
This code is free software; you can redistribute it and/or modify it
|
||||
@ -121,37 +121,25 @@ OVERVIEW
|
||||
- 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
|
||||
Additionally, each test enumerates test configurations and run every test case with them.
|
||||
Test configuration consists of 4 parameters:
|
||||
|
||||
majorVer - major version of class files for generated concrete classes
|
||||
values: ver49, ver52
|
||||
values: MIN_MAJOR_VER (49) ... MAX_MAJOR_VER (61)
|
||||
|
||||
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
|
||||
values: no additional flags, ACC_SYNCHRONIZED
|
||||
|
||||
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)
|
||||
DIRECT - invoke* bytecodes
|
||||
REFLECTION - Reflection API
|
||||
INDY - invokedynamic bytecode
|
||||
INVOKE_EXACT - MethodHandle.invokeExact()
|
||||
INVOKE_GENERIC - MethodHandle.invoke()
|
||||
INVOKE_WITH_ARGS - MethodHandle.invokeWithArguments()
|
||||
|
||||
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
|
||||
|
||||
values: false, true
|
||||
|
||||
STRESS TESTING
|
||||
|
||||
|
@ -21,14 +21,29 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
*
|
||||
* @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
|
||||
* @library /vmTestbase /test/lib
|
||||
*
|
||||
* @comment build retransform.jar in current dir
|
||||
* @run 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
|
||||
*/
|
||||
package vm.runtime.defmeth;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
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;
|
||||
@ -39,6 +54,8 @@ 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 jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||
import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
|
||||
/*
|
||||
@ -47,7 +64,11 @@ import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
public class RedefineTest extends DefMethTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
TestBase.runTest(new RedefineTest(), args);
|
||||
DefMethTest.runTest(RedefineTest.class,
|
||||
/* majorVer */ Set.of(MIN_MAJOR_VER, MAX_MAJOR_VER),
|
||||
/* flags */ Set.of(0, ACC_SYNCHRONIZED),
|
||||
/* redefine */ Set.of(true),
|
||||
/* execMode */ Set.of(DIRECT, INVOKE_EXACT, INVOKE_GENERIC, INDY));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -56,8 +77,7 @@ public class RedefineTest extends DefMethTest {
|
||||
// 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).");
|
||||
getLog().warn("RedefineTest isn't applicable to reflection-based execution scenario (REDEFINE & INVOKE_WITH_ARGS).");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -21,17 +21,31 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
*
|
||||
* @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
|
||||
* @library /vmTestbase /test/lib
|
||||
*
|
||||
* @comment build retransform.jar in current dir
|
||||
* @run 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
|
||||
*/
|
||||
package vm.runtime.defmeth;
|
||||
|
||||
import nsk.share.test.TestBase;
|
||||
import java.util.Set;
|
||||
|
||||
import vm.runtime.defmeth.shared.DefMethTest;
|
||||
import vm.runtime.defmeth.shared.builder.TesterBuilder;
|
||||
import vm.runtime.defmeth.shared.data.*;
|
||||
import vm.runtime.defmeth.shared.builder.TestBuilder;
|
||||
import vm.runtime.defmeth.shared.annotation.NotApplicableFor;
|
||||
|
||||
import static jdk.internal.org.objectweb.asm.Opcodes.ACC_PRIVATE;
|
||||
import static jdk.internal.org.objectweb.asm.Opcodes.ACC_STATIC;
|
||||
import static jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||
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.*;
|
||||
@ -42,7 +56,11 @@ import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
TestBase.runTest(new StaticMethodsTest(), args);
|
||||
DefMethTest.runTest(StaticMethodsTest.class,
|
||||
/* majorVer */ Set.of(MIN_MAJOR_VER, MAX_MAJOR_VER),
|
||||
/* flags */ Set.of(0, ACC_SYNCHRONIZED),
|
||||
/* redefine */ Set.of(false, true),
|
||||
/* execMode */ Set.of(DIRECT, REFLECTION, INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY));
|
||||
}
|
||||
|
||||
// static method in interface
|
||||
@ -55,9 +73,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
*
|
||||
* class C implements I {}
|
||||
*/
|
||||
public void testStaticMethod() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testStaticMethod(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -65,9 +81,8 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
b.test().staticCallSite(I, "m", "()I").returns(1).done()
|
||||
|
||||
.run();
|
||||
b.test().staticCallSite(I, "m", "()I").returns(1).done();
|
||||
b.test().staticCallSite(C, "m", "()I").throws_(NoSuchMethodError.class).done();
|
||||
}
|
||||
|
||||
// invoke[virtual|interface|special] from same/subintf
|
||||
@ -81,9 +96,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
*
|
||||
* class C implements I {}
|
||||
*/
|
||||
public void testInvokeVirtual() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testInvokeVirtual(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("staticM", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -95,12 +108,10 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
b.test().staticCallSite(I, "staticM", "()I").returns(1).done()
|
||||
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();
|
||||
b.test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
b.test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -113,9 +124,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
*
|
||||
* class C implements I {}
|
||||
*/
|
||||
public void testInvokeIntf() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testInvokeIntf(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("staticM", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -126,12 +135,10 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
b.test().staticCallSite(I, "staticM", "()I").returns(1).done()
|
||||
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();
|
||||
b.test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
b.test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -144,9 +151,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
*
|
||||
* class C implements I {}
|
||||
*/
|
||||
public void testInvokeSpecial() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testInvokeSpecial(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("staticM", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -157,12 +162,10 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
b.test().staticCallSite(I, "staticM", "()I").returns(1).done()
|
||||
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();
|
||||
b.test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
b.test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -175,9 +178,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
*
|
||||
* class C implements I {}
|
||||
*/
|
||||
public void testStaticVsDefault() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testStaticVsDefault(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -187,16 +188,14 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I).build();
|
||||
|
||||
b.test().staticCallSite(I, "m", "()I").throws_(ClassFormatError.class).done()
|
||||
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();
|
||||
b.test().callSite(C, C, "m", "()I").throws_(ClassFormatError.class).done();
|
||||
}
|
||||
|
||||
// call static method from default method
|
||||
@ -212,9 +211,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
*
|
||||
* class C implements I {}
|
||||
*/
|
||||
public void testInvokeFromDefaultMethod() throws Exception {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testInvokeFromDefaultMethod(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("staticPublicM", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -240,9 +237,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
// 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();
|
||||
.test().callSite(C, C, "invokePrivate", "()I").returns(1).done();
|
||||
}
|
||||
|
||||
// call static method from implementing subclass
|
||||
@ -264,11 +259,8 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testInvokeFromSubclass(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("staticPublicM", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -297,7 +289,6 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
b.test().callSite(C, C, "invokePublic", "()I").throws_(VerifyError.class).done()
|
||||
.test().callSite(C, C, "invokePrivate", "()I").throws_(VerifyError.class).done();
|
||||
}
|
||||
b.run();
|
||||
}
|
||||
|
||||
// static method doesn't participate in default method analysis:
|
||||
@ -311,9 +302,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
*
|
||||
* class C implements I {}
|
||||
*/
|
||||
public void testNotInherited() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testNotInherited(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -331,7 +320,6 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
// invokeinterface to static method ==> ICCE
|
||||
b.test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
b.run();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -347,9 +335,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testDefaultVsConcrete(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -367,8 +353,6 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
}
|
||||
|
||||
b.test().callSite(C, C, "m", "()I").returns(2).done();
|
||||
|
||||
b.run();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -385,9 +369,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
* class C implements J {
|
||||
* }
|
||||
*/
|
||||
public void testOverrideStatic() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testOverrideStatic(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -400,18 +382,16 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(J).build();
|
||||
|
||||
b.test().staticCallSite(I, "m", "()I").returns(1).done()
|
||||
b.test().staticCallSite(I, "m", "()I").returns(1).done();
|
||||
|
||||
.test().callSite(J, C, "m", "()I").returns(2).done()
|
||||
.test().callSite(C, C, "m", "()I").returns(2).done();
|
||||
b.test().callSite(J, C, "m", "()I").returns(2).done();
|
||||
b.test().callSite(C, C, "m", "()I").returns(2).done();
|
||||
|
||||
if (factory.getExecutionMode().equals("REFLECTION")) {
|
||||
b.test().callSite(I, C, "m", "()I").returns(1).done();
|
||||
} else {
|
||||
b.test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
b.run();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -431,9 +411,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testOverrideDefault(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.returns(1).build()
|
||||
@ -446,8 +424,8 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(J).build();
|
||||
|
||||
b.test().callSite(I, C, "m", "()I").returns(1).done()
|
||||
.test().callSite(C, C, "m", "()I").returns(1).done();
|
||||
b.test().callSite(I, C, "m", "()I").returns(1).done();
|
||||
b.test().callSite(C, C, "m", "()I").returns(1).done();
|
||||
|
||||
if (factory.getExecutionMode().equals("REFLECTION")) {
|
||||
// Reflection correctly finds the static method defined in J and
|
||||
@ -456,8 +434,6 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
} else {
|
||||
b.test().callSite(J, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
b.run();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -478,9 +454,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testReabstract(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -498,10 +472,8 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
b.test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
b.test().callSite(J, C, "m", "()I").throws_(AbstractMethodError.class).done()
|
||||
.test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done();
|
||||
|
||||
b.run();
|
||||
b.test().callSite(J, C, "m", "()I").throws_(AbstractMethodError.class).done();
|
||||
b.test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -522,9 +494,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
* -mode reflect returns 1
|
||||
* TEST: C o = new C(); o.m()I throws AME
|
||||
*/
|
||||
public void testOverrideAbstract() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testOverrideAbstract(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.abstractMethod("m", "()I").build()
|
||||
.build();
|
||||
@ -536,16 +506,14 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(J).build();
|
||||
|
||||
b.test().callSite(I, C, "m", "()I").throws_(AbstractMethodError.class).done()
|
||||
.test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done();
|
||||
b.test().callSite(I, C, "m", "()I").throws_(AbstractMethodError.class).done();
|
||||
b.test().callSite(C, C, "m", "()I").throws_(AbstractMethodError.class).done();
|
||||
|
||||
if (factory.getExecutionMode().equals("REFLECTION")) {
|
||||
b.test().callSite(J, C, "m", "()I").returns(1).done();
|
||||
} else {
|
||||
b.test().callSite(J, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
b.run();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -564,9 +532,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testInheritedDefault(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -575,16 +541,14 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
ConcreteClass B = b.clazz("B").implement(I).build();
|
||||
ConcreteClass C = b.clazz("C").extend(B).build();
|
||||
|
||||
b.test().callSite(B, C, "m","()I").throws_(NoSuchMethodError.class).done()
|
||||
.test().callSite(C, C, "m","()I").throws_(NoSuchMethodError.class).done();
|
||||
b.test().callSite(B, C, "m","()I").throws_(NoSuchMethodError.class).done();
|
||||
b.test().callSite(C, C, "m","()I").throws_(NoSuchMethodError.class).done();
|
||||
|
||||
if (factory.getExecutionMode().equals("REFLECTION")) {
|
||||
b.test().callSite(I, C, "m","()I").returns(1).done();
|
||||
} else {
|
||||
b.test().callSite(I, C, "m","()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
b.run();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -601,9 +565,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
* class C extends B implements I {}
|
||||
*
|
||||
*/
|
||||
public void testDefaultVsConcreteInherited() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testDefaultVsConcreteInherited(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -615,18 +577,16 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").extend(B).implement(I).build();
|
||||
|
||||
b.test().staticCallSite(I, "m","()I").returns(1).done()
|
||||
b.test().staticCallSite(I, "m","()I").returns(1).done();
|
||||
|
||||
.test().callSite(B, C, "m","()I").returns(2).done()
|
||||
.test().callSite(C, C, "m","()I").returns(2).done();
|
||||
b.test().callSite(B, C, "m","()I").returns(2).done();
|
||||
b.test().callSite(C, C, "m","()I").returns(2).done();
|
||||
|
||||
if (factory.getExecutionMode().equals("REFLECTION")) {
|
||||
b.test().callSite(I, C, "m","()I").returns(1).done();
|
||||
} else {
|
||||
b.test().callSite(I, C, "m","()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
b.run();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -647,9 +607,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testDefaultVsStaticConflict(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.static_().public_().returns(1).build()
|
||||
@ -661,16 +619,14 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(I,J).build();
|
||||
|
||||
b.test().callSite(J, C, "m", "()I").returns(2).done()
|
||||
.test().callSite(C, C, "m", "()I").returns(2).done();
|
||||
b.test().callSite(J, C, "m", "()I").returns(2).done();
|
||||
b.test().callSite(C, C, "m", "()I").returns(2).done();
|
||||
|
||||
if (factory.getExecutionMode().equals("REFLECTION")) {
|
||||
b.test().callSite(I, C, "m", "()I").returns(1).done();
|
||||
} else {
|
||||
b.test().callSite(I, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
b.run();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -690,9 +646,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
* -mode reflect returns 2
|
||||
* TEST: I o = new C(); o.m()I == 1
|
||||
*/
|
||||
public void testStaticSuperClassVsDefaultSuperInterface() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testStaticSuperClassVsDefaultSuperInterface(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.public_().returns(1).build()
|
||||
@ -712,9 +666,8 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
} else {
|
||||
b.test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
b.run();
|
||||
}
|
||||
|
||||
/*
|
||||
* testStaticLocalVsDefaultSuperInterface
|
||||
*
|
||||
@ -732,9 +685,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
* -mode reflect returns 2
|
||||
* TEST: I o = new A(); o.m()I == 1
|
||||
*/
|
||||
public void testStaticLocalVsDefaultSuperInterface() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testStaticLocalVsDefaultSuperInterface(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.public_().returns(1).build()
|
||||
@ -757,9 +708,8 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
b.test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
b.test().callSite(A, A, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
b.run();
|
||||
}
|
||||
|
||||
/*
|
||||
* testConflictingDefaultsandStaticMethod
|
||||
* @bug 8033150
|
||||
@ -780,9 +730,7 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
*
|
||||
* TEST: C.m(); should call A.m, return value = 3
|
||||
*/
|
||||
public void testConflictingDefaultsandStaticMethod() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testConflictingDefaultsandStaticMethod(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I")
|
||||
.public_().returns(1).build()
|
||||
@ -800,7 +748,6 @@ public class StaticMethodsTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").extend(A).build();
|
||||
|
||||
b.test().staticCallSite(C, "m", "()I").returns(3).done()
|
||||
.run();
|
||||
b.test().staticCallSite(C, "m", "()I").returns(3).done();
|
||||
}
|
||||
}
|
||||
|
@ -21,24 +21,43 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
*
|
||||
* @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
|
||||
* @library /vmTestbase /test/lib
|
||||
*
|
||||
* @comment build retransform.jar in current dir
|
||||
* @run driver vm.runtime.defmeth.shared.BuildJar
|
||||
*
|
||||
* @run driver jdk.test.lib.FileInstaller . .
|
||||
*
|
||||
* @run main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.StressTest
|
||||
*/
|
||||
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 jdk.test.lib.Utils;
|
||||
|
||||
import static jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||
import static vm.runtime.defmeth.shared.DefMethTest.MAX_MAJOR_VER;
|
||||
import static vm.runtime.defmeth.shared.DefMethTest.MIN_MAJOR_VER;
|
||||
|
||||
/*
|
||||
* Stress test for default methods implementation.
|
||||
@ -57,11 +76,8 @@ public class StressTest implements Runnable {
|
||||
@Option(name="seed", default_value="0", description="force deterministic behavior")
|
||||
private long 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="noredefine", default_value="false", description="skip scenarios w/ class redefinition")
|
||||
private boolean noRedefine;
|
||||
|
||||
@Option(name="ignoreTestFailures", default_value="false", description="ignore failures of the executed tests")
|
||||
private boolean ignoreTestFailures;
|
||||
@ -140,23 +156,18 @@ public class StressTest implements Runnable {
|
||||
}
|
||||
|
||||
private void configureTests() {
|
||||
int[] majorVerValues = new int[52 - minMajorVer + 1];
|
||||
int[] majorVerValues = new int[MAX_MAJOR_VER - MIN_MAJOR_VER + 1];
|
||||
for (int i = 0; i< majorVerValues.length; i++) {
|
||||
majorVerValues[i] = minMajorVer + i;
|
||||
majorVerValues[i] = MIN_MAJOR_VER + i;
|
||||
}
|
||||
|
||||
int[] flagsValues = new int[] {
|
||||
0,
|
||||
ACC_STRICT,
|
||||
ACC_SYNCHRONIZED,
|
||||
ACC_STRICT | ACC_SYNCHRONIZED
|
||||
};
|
||||
int[] flagsValues = new int[] {0, ACC_SYNCHRONIZED};
|
||||
|
||||
boolean[] doRedefineValues;
|
||||
if (doRedefine) {
|
||||
doRedefineValues = new boolean[] { true, false};
|
||||
} else {
|
||||
if (noRedefine) {
|
||||
doRedefineValues = new boolean[] { false };
|
||||
} else {
|
||||
doRedefineValues = new boolean[] { false, true };
|
||||
}
|
||||
|
||||
// Upper limit for test count
|
||||
@ -188,7 +199,7 @@ public class StressTest implements Runnable {
|
||||
}
|
||||
|
||||
try {
|
||||
DefMethTest test = testClass.newInstance();
|
||||
DefMethTest test = testClass.getDeclaredConstructor().newInstance();
|
||||
|
||||
OptionSupport.setup(test, new String[] {
|
||||
"-execMode", mode.toString(),
|
||||
@ -199,7 +210,7 @@ public class StressTest implements Runnable {
|
||||
"-failfast"});
|
||||
|
||||
testlist.add(test);
|
||||
} catch (InstantiationException | IllegalAccessException ex) {
|
||||
} catch (ReflectiveOperationException ex) {
|
||||
throw new TestFailure(ex);
|
||||
}
|
||||
}
|
||||
|
@ -21,13 +21,31 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
*
|
||||
* @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
|
||||
* @library /vmTestbase /test/lib
|
||||
*
|
||||
* @comment build retransform.jar in current dir
|
||||
* @run 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
|
||||
*/
|
||||
package vm.runtime.defmeth;
|
||||
|
||||
import nsk.share.test.TestBase;
|
||||
import java.util.Set;
|
||||
|
||||
import vm.runtime.defmeth.shared.DefMethTest;
|
||||
import vm.runtime.defmeth.shared.annotation.NotApplicableFor;
|
||||
import vm.runtime.defmeth.shared.data.*;
|
||||
import vm.runtime.defmeth.shared.builder.TestBuilder;
|
||||
|
||||
import static jdk.internal.org.objectweb.asm.Opcodes.ACC_SYNCHRONIZED;
|
||||
import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
|
||||
/*
|
||||
@ -43,7 +61,6 @@ import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
* 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
|
||||
@ -51,22 +68,26 @@ import static vm.runtime.defmeth.shared.ExecutionMode.*;
|
||||
*/
|
||||
public class SuperCallTest extends DefMethTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
DefMethTest.runTest(SuperCallTest.class,
|
||||
/* majorVer */ Set.of(MAX_MAJOR_VER),
|
||||
/* flags */ Set.of(0, ACC_SYNCHRONIZED),
|
||||
/* redefine */ Set.of(false, true),
|
||||
/* execMode */ Set.of(DIRECT, REFLECTION, INVOKE_EXACT, INVOKE_GENERIC, INVOKE_WITH_ARGS, INDY));
|
||||
}
|
||||
|
||||
@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.");
|
||||
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
|
||||
*
|
||||
@ -77,9 +98,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: C c = new C(); c.m() == 88;
|
||||
* TEST: I i = new C(); i.m() == 88;
|
||||
*/
|
||||
public void testSuperBasic1() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testSuperBasic1(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -92,9 +111,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
|
||||
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();
|
||||
.test().callSite(C, C, "m", "()I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -115,9 +132,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: L l = new D(); l.m() == 1
|
||||
* TEST: D d = new D(); d.m() == 1
|
||||
*/
|
||||
public void testSuperConflictResolution() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testSuperConflictResolution(TestBuilder b) {
|
||||
Interface K = b.intf("K")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -144,9 +159,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
|
||||
.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();
|
||||
.test().callSite(D, D, "m", "()I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -181,9 +194,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testSuperConflictDiffMethod(TestBuilder b) {
|
||||
Interface K = b.intf("K")
|
||||
.defaultMethod("m", "(I)I").returns(1).build()
|
||||
.build();
|
||||
@ -218,9 +229,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
.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();
|
||||
.test().callSite(D, D, "l", "()I").returns(2).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -238,9 +247,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: I i = new C(); i.m() ==> ICCE
|
||||
* TEST: C c = new C(); c.m() ==> ICCE
|
||||
*/
|
||||
public void testSuperConflict() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testSuperConflict(TestBuilder b) {
|
||||
Interface K = b.intf("K")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -261,9 +268,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
.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();
|
||||
.test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -276,9 +281,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: C c = new C(); c.m() ==> 1
|
||||
* TEST: J j = new C(); j.m() ==> 1
|
||||
*/
|
||||
public void testSuperDisqual() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testSuperDisqual(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -293,9 +296,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
|
||||
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();
|
||||
.test().callSite(C, C, "m", "()I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -312,9 +313,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: C c = new C(); c.m() ==> AME
|
||||
* TEST: K k = new D(); k.m() ==> NSME
|
||||
*/
|
||||
public void testSuperNull() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testSuperNull(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.abstractMethod("m", "()I").build()
|
||||
.build();
|
||||
@ -333,9 +332,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
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();
|
||||
.test().callSite(K, D, "m", "()I").throws_(NoSuchMethodError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -351,9 +348,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: C c = new C(); c.m(new Object()) == 1;
|
||||
* TEST: C c = new C(); c.m("") == 1;
|
||||
*/
|
||||
public void testSuperGeneric() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testSuperGeneric(TestBuilder b) {
|
||||
// interface I<T> {
|
||||
// default int m(T t) { return 1; }
|
||||
// }
|
||||
@ -378,9 +373,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
.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();
|
||||
.test().callSite(C, C, "m", "(Ljava/lang/String;)I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -392,9 +385,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
*
|
||||
* TEST: C c = new C(); c.m("string") == 1
|
||||
*/
|
||||
public void testSuperGenericDisqual() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testSuperGenericDisqual(TestBuilder b) {
|
||||
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();
|
||||
@ -415,9 +406,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
.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();
|
||||
.test().callSite(C, C, "m", "(Ljava/lang/String;)I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -429,9 +418,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: C d = new D(); d.m() == 1
|
||||
* TEST: D d = new D(); d.m() == 1
|
||||
*/
|
||||
public void testSuperNonDefault() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testSuperNonDefault(TestBuilder b) {
|
||||
ConcreteClass C = b.clazz("C")
|
||||
.concreteMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -441,9 +428,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
.build();
|
||||
|
||||
b.test().callSite(C, D, "m", "()I").returns(1).done()
|
||||
.test().callSite(D, D, "m", "()I").returns(1).done()
|
||||
|
||||
.run();
|
||||
.test().callSite(D, D, "m", "()I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -461,9 +446,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: C e = new E(); e.m() == 1
|
||||
* TEST: E e = new E(); e.m() == 1
|
||||
*/
|
||||
public void testSuperNonDefault1() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testSuperNonDefault1(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.abstractMethod("m", "()I").build()
|
||||
.build();
|
||||
@ -486,9 +469,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
|
||||
.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();
|
||||
.test().callSite(E, E, "m", "()I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -507,9 +488,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: C e = new E(); e.m() == 2
|
||||
* TEST: E e = new E(); e.m() == 2
|
||||
*/
|
||||
public void testSuperNonDefault2() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testSuperNonDefault2(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -532,9 +511,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
|
||||
.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();
|
||||
.test().callSite(E, E, "m", "()I").returns(2).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -549,9 +526,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: C c = new C(); c.q() == 1;
|
||||
* TEST: C c = new C(); c.r() == 2;
|
||||
*/
|
||||
public void testDisambig() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testDisambig(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -567,9 +542,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
|
||||
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();
|
||||
.test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -586,9 +559,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: C c = new C(); c.q() == 1;
|
||||
* TEST: C c = new C(); c.r() == 2;
|
||||
*/
|
||||
public void testDisambig2() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testDisambig2(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -608,9 +579,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
|
||||
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();
|
||||
.test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -624,9 +593,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: C c = new C(); c.m() == 2
|
||||
* TEST: C c = new C(); c.q() == 1
|
||||
*/
|
||||
public void testResolvedShadowed() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testResolvedShadowed(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -643,9 +610,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
.build();
|
||||
|
||||
b.test().callSite(C, C, "m", "()I").returns(2).done()
|
||||
.test().callSite(C, C, "q", "()I").returns(1).done()
|
||||
|
||||
.run();
|
||||
.test().callSite(C, C, "q", "()I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -659,9 +624,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: C c = new C(); c.q() == 1
|
||||
* TEST: C c = new C(); c.m() == 2
|
||||
*/
|
||||
public void testResolvedButSuperClass() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testResolvedButSuperClass(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -678,9 +641,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
.build();
|
||||
|
||||
b.test().callSite(C, C, "q", "()I").returns(1).done()
|
||||
.test().callSite(C, C, "m", "()I").returns(2).done()
|
||||
|
||||
.run();
|
||||
.test().callSite(C, C, "m", "()I").returns(2).done();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -695,9 +656,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* TEST: C c = new C(); c.m() == ICCE
|
||||
* TEST: C c = new C(); c.q() == 1
|
||||
*/
|
||||
public void testResolved1Caller2NotShadowed() {
|
||||
TestBuilder b = factory.getBuilder();
|
||||
|
||||
public void testResolved1Caller2NotShadowed(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -716,16 +675,14 @@ public class SuperCallTest extends DefMethTest {
|
||||
.build();
|
||||
|
||||
b.test().callSite(C, C, "m", "()I").throws_(IncompatibleClassChangeError.class).done()
|
||||
.test().callSite(C, C, "q", "()I").returns(1).done()
|
||||
|
||||
.run();
|
||||
.test().callSite(C, C, "q", "()I").returns(1).done();
|
||||
}
|
||||
|
||||
/*
|
||||
* 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
|
||||
* 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
|
||||
@ -746,9 +703,7 @@ public class SuperCallTest extends DefMethTest {
|
||||
* 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();
|
||||
|
||||
public void testSuperInvalidIndirectInterfaceMethodInvokeSpecial(TestBuilder b) {
|
||||
Interface I = b.intf("I")
|
||||
.defaultMethod("m", "()I").returns(1).build()
|
||||
.build();
|
||||
@ -761,8 +716,6 @@ public class SuperCallTest extends DefMethTest {
|
||||
|
||||
ConcreteClass C = b.clazz("C").implement(K).build();
|
||||
|
||||
b.test().callSite(K, C, "m", "()I").throws_(VerifyError.class).done()
|
||||
|
||||
.run();
|
||||
b.test().callSite(K, C, "m", "()I").throws_(VerifyError.class).done();
|
||||
}
|
||||
}
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 0
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 0
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 0
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 0
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 0
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 0
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 2048
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 2048
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 2048
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 2048
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 2048
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 2048
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 32
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 32
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 32
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 32
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 32
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 32
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 2080
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 2080
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 2080
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 2080
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 2080
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.AccessibilityFlagsTest
|
||||
* -ver 52
|
||||
* -flags 2080
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 0
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 0
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 0
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 0
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 0
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 0
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 2048
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 2048
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 2048
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 2048
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 2048
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 2048
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 32
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 32
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 32
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 32
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 32
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 32
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 2080
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 2080
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 2080
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 2080
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 2080
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 49
|
||||
* -flags 2080
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 0
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 0
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 0
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 0
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 0
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 0
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 2048
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 2048
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 2048
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 2048
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 2048
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 2048
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 32
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 32
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 32
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 32
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 32
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 32
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 2080
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 2080
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 2080
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 2080
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 2080
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.BasicTest
|
||||
* -ver 52
|
||||
* -flags 2080
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 0
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 0
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 0
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 0
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 0
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 0
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 2048
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 2048
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 2048
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 2048
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 2048
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 2048
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode reflect
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 32
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 32
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode direct
|
||||
*/
|
||||
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm
|
||||
* -XX:+IgnoreUnrecognizedVMOptions
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 32
|
||||
* -mode invoke
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @modules java.base/jdk.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 main/othervm/native
|
||||
* -agentlib:redefineClasses
|
||||
* -javaagent:retransform.jar
|
||||
* vm.runtime.defmeth.ConflictingDefaultsTest
|
||||
* -ver 49
|
||||
* -flags 32
|
||||
* -redefine
|
||||
* -retransform
|
||||
* -mode invoke
|
||||
*/
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user