<div dir="ltr">With Mark's announcement that the leyden repo is now open, I'd like to refresh this request to push the experimental jlink plugin to pregenerate lambda classes to the the repo.<div><br></div><div>> If you’d like to create a new branch for collaborative prototyping work,</div>> please send a short note to this list describing its name and intended<br>> content.<div><br></div><div>Suggested branch name: pregenerate-lambdas</div><div>Purpose: Share the jlink plugin and jdk changes required to pregenerate lambda classes during jlink. This branch would be an initial example of how to address some of the issues (like nestmates) when timeshifting code generation from runtime to jlink time. It's also a good starting point for further collaboration on how to best address Serializable lambdas and any other areas (Stacktrace differences,....) that may be exposed related to timeshifting code generation.</div><div><br></div><div>--Dan</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 26, 2023 at 11:18 AM Dan Heidinga <<a href="mailto:heidinga@redhat.com" target="_blank">heidinga@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I've updated my jlink patch to pregenerate lambda classes [0] so it works with the current Leyden repo and the updated classfile api (which is awesome - check it out if you haven't yet!). Previously discussed in the "Bytecode transformation investigation" thread [1].<div><br></div><div>I'd like to push it to an experimental branch here on the leyden repo so that others can freely pick up and experiment with the code. Would that be possible?</div><div><br></div><div>My local branch is called "pregenerate-lambdas" but any name would work for me.</div><div><br></div><div>The patch pre-generates during jlink time classes for non-Serializable lambda expressions and uses NestMates to handle access to the private implementation method. It's a good example of the kinds of changes needed to shift runtime-generated classes to jlink time.</div><div><br></div><div>Still lots to update but worth getting into Leyden repo so the code is shareable.</div><div><br></div><div>Mark / Brian - is it possible to get an experimental branch on the leyden repo for this patch?</div><div><br></div><div>--Dan<br><div><br></div><div><div>[0] <a href="https://github.com/openjdk/leyden/compare/master...DanHeidinga:leyden:pregenerate-lambdas?expand=1" target="_blank">https://github.com/openjdk/leyden/compare/master...DanHeidinga:leyden:pregenerate-lambdas?expand=1</a><br></div></div></div><div><br></div><div>[1] <a href="https://mail.openjdk.org/pipermail/leyden-dev/2022-August/000055.html" target="_blank">https://mail.openjdk.org/pipermail/leyden-dev/2022-August/000055.html</a></div></div>
</blockquote></div>