< prev index next >
test/compiler/jsr292/RedefineMethodUsedByMultipleMethodHandles.java
Print this page
*** 23,53 ****
/**
* @test
* @bug 8042235
* @summary redefining method used by multiple MethodHandles crashes VM
* @modules java.base/jdk.internal.org.objectweb.asm
* java.compiler
* java.instrument
* java.management
! * @compile -XDignore.symbol.file RedefineMethodUsedByMultipleMethodHandles.java
! * @run main/othervm RedefineMethodUsedByMultipleMethodHandles
*/
! import java.io.*;
! import java.lang.instrument.*;
! import java.lang.invoke.*;
! import java.lang.invoke.MethodHandles.Lookup;
! import java.lang.management.*;
! import java.lang.reflect.*;
! import java.nio.file.*;
! import java.security.*;
! import java.util.jar.*;
!
! import javax.tools.*;
! import jdk.internal.org.objectweb.asm.*;
public class RedefineMethodUsedByMultipleMethodHandles {
static class Foo {
public static Object getName() {
--- 23,68 ----
/**
* @test
* @bug 8042235
* @summary redefining method used by multiple MethodHandles crashes VM
+ * @library /
* @modules java.base/jdk.internal.org.objectweb.asm
* java.compiler
* java.instrument
* java.management
! *
! * @run main/othervm compiler.jsr292.RedefineMethodUsedByMultipleMethodHandles
*/
! package compiler.jsr292;
! import jdk.internal.org.objectweb.asm.ClassReader;
! import jdk.internal.org.objectweb.asm.ClassVisitor;
! import jdk.internal.org.objectweb.asm.ClassWriter;
! import jdk.internal.org.objectweb.asm.MethodVisitor;
! import jdk.internal.org.objectweb.asm.Opcodes;
!
! import javax.tools.ToolProvider;
! import java.io.FileOutputStream;
! import java.io.IOException;
! import java.io.InputStream;
! import java.lang.instrument.ClassFileTransformer;
! import java.lang.instrument.IllegalClassFormatException;
! import java.lang.instrument.Instrumentation;
! import java.lang.invoke.MethodHandle;
! import java.lang.invoke.MethodHandles;
! import java.lang.invoke.MethodHandles.Lookup;
! import java.lang.management.ManagementFactory;
! import java.lang.reflect.Method;
! import java.nio.file.Files;
! import java.nio.file.Path;
! import java.security.ProtectionDomain;
! import java.util.jar.Attributes;
! import java.util.jar.JarEntry;
! import java.util.jar.JarOutputStream;
! import java.util.jar.Manifest;
public class RedefineMethodUsedByMultipleMethodHandles {
static class Foo {
public static Object getName() {
< prev index next >