On Thu, 23 May 2024 03:28:30 GMT, Chen Liang <li...@openjdk.org> wrote:

> Please review this change that convert dynamic proxies implementations to 
> hidden classes, intended to target JDK 24.
> 
> Summary:
> 1. Adds new implementation while preserving the old implementation behind 
> `-Djdk.reflect.useLegacyProxyImpl=true` in case there are compatibility 
> issues.
> 2. ClassLoader.defineClass0 takes a ClassLoader instance but discards it in 
> native code; I updated native code to reuse that ClassLoader for Proxy 
> support.
> 3. ProxyGenerator changes mainly involve using Class data to pass Method list 
> (accessed in a single condy) and removal of obsolete setup code generation.
> 
> Testing: tier1 and tier2 have no related failures.
> 
> Comment: Since #8278, Proxy has been converted to ClassFile API, and 
> infrastructure has changed; now, the migration to hidden classes is much 
> cleaner and has less impact, such as preserving ProtectionDomain and dynamic 
> module without "anchor classes", and avoiding java.lang.invoke package.

There are compatibility concerns and behavioural differences that will require 
significant effort to consider before doing this. This is the reason that this 
one has been kicked down the road several times.

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

PR Comment: https://git.openjdk.org/jdk/pull/19356#issuecomment-2126310091

Reply via email to