+1
Mandy
On 3/15/18 10:06 AM, Paul Sandoz wrote:
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