On 03/10/2018 18:56, Mandy Chung wrote:
This patch replaces java.lang.invoke and JFR use of
jdk.internal.misc.Unsafe::defineClass with Lookup::defineClass.
It also replaces dynamic proxy and reflection implementation to
use the shared secret to invoke ClassLoader::defineClass.

Webrev:
http://cr.openjdk.java.net/~mchung/jdk12/webrevs/8181443/webrev.00

With this change, JDK no longer uses Unsafe::defineClass.
Any opinion in removing Unsafe::defineClass support?

I ran jdk_core, jdk_jfr, tier1_runtime and tier1_compiler tests.

This change looks okay to me.

Nothing outside of java.base should be making direct use of classes in jdk.internal.misc so it's okay to refactor or remove classes or methods as needed. In this case, the internal defineClass is an attractive nuisance as there may be libraries tempted to hack into it. So I think it should be removed at some point.

-Alan

Reply via email to