RFR: 8163369: Enable generating DMH classes at link time
claes.redestad at oracle.com
Mon Aug 8 11:46:23 UTC 2016
please review this change to add the ability to generate
DirectMethodHandles to the --generate-jli-classes jlink plugin.
The implementation generates all the specified DMHs as methods into a
single class, java.lang.invoke.DirectMethodHandle$DMH. At runtime when a
DMH's LF is set up, we speculatively resolve the member from this class
instead of generating and loading the bytecode as a distinct anonymous
class. This avoids loading a potentially large number of anonymous
classes at runtime, and also enables other startup optimizations such as
allowing CDS to see and dump this class to the shared archive.
This is a sub-task of https://bugs.openjdk.java.net/browse/JDK-8086045,
which captures more information about the ongoing effort to reduce
j.l.invoke initialization overheads.
More information about the core-libs-dev