Integrated: 8327624: Remove VM implementation that bypass verification for core reflection
Mandy Chung
mchung at openjdk.org
Tue Oct 22 18:17:14 UTC 2024
On Thu, 17 Oct 2024 20:45:53 GMT, Mandy Chung <mchung at openjdk.org> wrote:
> The old core reflection implementation generates dynamic classes that are special cases in the VM to bypass bytecode verification to workaround various issues [1] [2] [3].
>
> The old core reflection implementation was [removed in JDK 22](https://bugs.openjdk.org/browse/JDK-8305104). It's time to remove these VM hacks along with the old implementation of `sun.reflect.ReflectionFactory::newConstructorForSerialization`.
>
> After this change, `jdk.internal.reflect.DelegatingClassLoader` no longer exists. Hence the special metaspace for reflection is no longer needed. GTests will need to be updated when `Metaspace::ReflectionMetaspaceType` is removed. Such clean up can be done separately (JDK-8342561).
>
> [1] [JDK-4486457](https://bugs.openjdk.org/browse/JDK-4486457)
> [2] [JDK-4474172](https://bugs.openjdk.org/browse/JDK-4474172)
> [3] [JDK-6790209](https://bugs.openjdk.org/browse/JDK-6790209)
This pull request has now been integrated.
Changeset: d6eddcda
Author: Mandy Chung <mchung at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/d6eddcdaf92f2352266ba519608879141997cd63
Stats: 2817 lines in 28 files changed: 0 ins; 2805 del; 12 mod
8327624: Remove VM implementation that bypass verification for core reflection
Reviewed-by: liach, dholmes, jrose, alanb, mli
-------------
PR: https://git.openjdk.org/jdk/pull/21571
More information about the hotspot-dev
mailing list