On Mon, 3 Apr 2023 22:32:44 GMT, Mandy Chung <[email protected]> wrote:
>> This implements a shared utility to dump generated classes defined as
>> normal/hidden classes via `Lookup` API. This replaces the implementation
>> in `LambdaMetaFactory` and method handle implementation that dumps the
>> hidden class bytes on disk for debugging.
>>
>> For classes defined via `Lookup::defineClass`, `Lookup::defineHiddenClass`
>> and `Lookup::defineHiddenClassWithClassData`, by default they will be dumped
>> to the path specified in `-Djava.lang.invoke.Lookup.dumpClasses=<dumpDir>`
>>
>> The hidden classes generated for lambdas, `LambdaForms` and method handle
>> implementation use non-default dumper so that they can be controlled via a
>> separate system property and path as in the current implementation.
>>
>> To dump lambda proxy classes, set this system property:
>> -Djdk.internal.lambda.dumpProxyClasses=<dumpDir>
>>
>> To dump LambdaForms and method handle implementation, set this system
>> property:
>> -Djava.lang.invoke.MethodHandle.DUMP_CLASS_FILES=true
>>
>> P.S. `ProxyClassesDumper` is renamed to `ClassFileDumper` but for some
>> reason, it's not shown as rename.
>
> Mandy Chung has updated the pull request incrementally with one additional
> commit since the last revision:
>
> update test
src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java line 566:
> 564: * @return the generated concrete TopClass class
> 565: */
> 566: @SuppressWarnings("removal")
This `@SuppressWarnings` is no longer needed:
Suggestion:
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13182#discussion_r1739683678