Hi, Please review this patch to remove sun.misc.Unsafe.defineClass in 11.
There has been much outreach, by Alan and the Jigsaw team, about its public replacement MethodHandles.Lookup.defineClass. CSR is here: https://bugs.openjdk.java.net/browse/JDK-8199699 Thanks, Paul. diff -r 3c0a12972165 src/jdk.unsupported/share/classes/sun/misc/Unsafe.java --- a/src/jdk.unsupported/share/classes/sun/misc/Unsafe.java Thu Mar 15 08:11:01 2018 -0700 +++ b/src/jdk.unsupported/share/classes/sun/misc/Unsafe.java Thu Mar 15 09:51:00 2018 -0700 @@ -811,25 +811,6 @@ /// random trusted operations from JNI: /** - * Tells the VM to define a class, without security checks. By default, the - * class loader and protection domain come from the caller's class. - * - * @deprecated Use {@link java.lang.invoke.MethodHandles.Lookup#defineClass MethodHandles.Lookup#defineClass} - * to define a class to the same class loader and in the same runtime package - * and {@linkplain java.security.ProtectionDomain protection domain} of a - * given {@code Lookup}'s {@linkplain java.lang.invoke.MethodHandles.Lookup#lookupClass() lookup class}. - * - * @see java.lang.invoke.MethodHandles.Lookup#defineClass(byte[]) - */ - @Deprecated(since="9", forRemoval=true) - @ForceInline - public Class<?> defineClass(String name, byte[] b, int off, int len, - ClassLoader loader, - ProtectionDomain protectionDomain) { - return theInternalUnsafe.defineClass(name, b, off, len, loader, protectionDomain); - } - - /** * Defines a class but does not make it known to the class loader or system dictionary. * <p> * For each CP entry, the corresponding CP patch must either be null or have