> 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: comments from Remi ------------- Changes: - all: https://git.openjdk.org/jdk/pull/13182/files - new: https://git.openjdk.org/jdk/pull/13182/files/2eeb7b04..120bc2f1 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=13182&range=06 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13182&range=05-06 Stats: 8 lines in 1 file changed: 0 ins; 2 del; 6 mod Patch: https://git.openjdk.org/jdk/pull/13182.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/13182/head:pull/13182 PR: https://git.openjdk.org/jdk/pull/13182