< prev index next >

test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineInterfaceCall.java

Print this page

14  *
15  * You should have received a copy of the GNU General Public License version
16  * 2 along with this work; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  */
23 
24 /*
25  * @test
26  * @bug 8174962 8010319
27  * @summary Redefine class with interface method call
28  * @requires vm.jvmti
29  * @library /test/lib
30  * @modules java.base/jdk.internal.misc
31  * @modules java.compiler
32  *          java.instrument
33  *          jdk.jartool/sun.tools.jar

34  * @run main RedefineClassHelper
35  * @run main/othervm -javaagent:redefineagent.jar -Xlog:redefine+class+update*=trace RedefineInterfaceCall
36  */
37 
38 import static jdk.test.lib.Asserts.assertEquals;
39 
40 interface I1 { default int m() { return 0; } }
41 interface I2 extends I1 {}
42 
43 // package access top-level class to avoid problem with RedefineClassHelper
44 // and nested types.
45 class RedefineInterfaceCall_C implements I2 {
46     public int test(I2 i) {
47         return i.m(); // invokeinterface cpCacheEntry
48     }
49 }
50 
51 public class RedefineInterfaceCall {
52 
53     static String newI1 =

14  *
15  * You should have received a copy of the GNU General Public License version
16  * 2 along with this work; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  */
23 
24 /*
25  * @test
26  * @bug 8174962 8010319
27  * @summary Redefine class with interface method call
28  * @requires vm.jvmti
29  * @library /test/lib
30  * @modules java.base/jdk.internal.misc
31  * @modules java.compiler
32  *          java.instrument
33  *          jdk.jartool/sun.tools.jar
34  * @build jdk.test.lib.helpers.ClassFileInstaller jdk.test.lib.compiler.InMemoryJavaCompiler
35  * @run main RedefineClassHelper
36  * @run main/othervm -javaagent:redefineagent.jar -Xlog:redefine+class+update*=trace RedefineInterfaceCall
37  */
38 
39 import static jdk.test.lib.Asserts.assertEquals;
40 
41 interface I1 { default int m() { return 0; } }
42 interface I2 extends I1 {}
43 
44 // package access top-level class to avoid problem with RedefineClassHelper
45 // and nested types.
46 class RedefineInterfaceCall_C implements I2 {
47     public int test(I2 i) {
48         return i.m(); // invokeinterface cpCacheEntry
49     }
50 }
51 
52 public class RedefineInterfaceCall {
53 
54     static String newI1 =
< prev index next >