RFR: 8327624: Remove VM implementation that bypass verification for core reflection [v2]

Mandy Chung mchung at openjdk.org
Thu Oct 17 22:44:05 UTC 2024


> 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)

Mandy Chung has updated the pull request incrementally with one additional commit since the last revision:

  Remove unused classes

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/21571/files
  - new: https://git.openjdk.org/jdk/pull/21571/files/4753637c..245cfb6f

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=21571&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=21571&range=00-01

  Stats: 1836 lines in 11 files changed: 0 ins; 1832 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/21571.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21571/head:pull/21571

PR: https://git.openjdk.org/jdk/pull/21571


More information about the core-libs-dev mailing list