<div dir="ltr">Congratulations to the team!</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Oct 20, 2023 at 7:28 AM Gavin Ray <<a href="mailto:ray.gavin97@gmail.com">ray.gavin97@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Huge congratulations and thank-you to all involved -- Maurizio, Jorn, Per, and the many others that have engaged in the mailing list discussions and code contributions.<div><br></div><div>A big day for Java and the JVM indeed!</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Oct 20, 2023 at 7:17 AM Maurizio Cimadamore <<a href="mailto:maurizio.cimadamore@oracle.com" target="_blank">maurizio.cimadamore@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hi,<br>
As some of you might know, JEP 454 has landed in the JDK repository and <br>
the FFM API is no longer a preview API :-)<br>
<br>
A binary snapshot containing the Java 22 changes is available here:<br>
<br>
<a href="https://jdk.java.net/22/" rel="noreferrer" target="_blank">https://jdk.java.net/22/</a><br>
<br>
And, a jextract branch to go with it is also available here:<br>
<br>
<a href="https://github.com/openjdk/jextract/tree/jdk22" rel="noreferrer" target="_blank">https://github.com/openjdk/jextract/tree/jdk22</a><br>
<br>
Over the last few months the focus has been on further polishing the <br>
rough edges of the API. We have just published a PR [1] which enhances <br>
the "critical" linker option so that heap segments can be passed <br>
directly to native code (w/o copy). We believe this further enhancement <br>
should bring some benefits for legacy APIs that are "stuck" dealing with <br>
byte arrays, but need to interop with native code.<br>
<br>
We have also been working on the tooling aspect of restricted methods, <br>
adding support for restricted method warnings in javac [2] and also <br>
adding better javadoc support for restricted methods [3].<br>
<br>
It is also nice to see the first attempts at using FFM within the JDK <br>
itself [4], we hope this trend is one that will continue.<br>
<br>
Of course, finalizing the API doesn't mean we're done (is there ever <br>
such a thing?). We are actively exploring ways to model foreign data <br>
with records, and we plan to make more progress on improving the startup <br>
of FFM clients. More longer term, there's a lot of interesting synergies <br>
to look forward to, from structured arenas (Loom) to better support for <br>
unsigned types (Valhalla). Plenty of exciting stuff to work on still!<br>
<br>
We'd also like to take a moment to thank all of you. It is a privilege <br>
to be in a position to improve the Java platform, and one that we do not <br>
take lightly. But, without your help, all our efforts will be in vain. <br>
So we're very grateful for the feedback you have provided along the way, <br>
in every shape or form, be it a bug report, a benchmark or even just a <br>
"git checkout" to see what's up. You are the pulsating heart of what we <br>
call Java. Please keep it up, and keep helping us making Java a better <br>
language/platform.<br>
<br>
Cheers<br>
Maurizio<br>
<br>
[1] - <a href="https://git.openjdk.org/jdk/pull/16201" rel="noreferrer" target="_blank">https://git.openjdk.org/jdk/pull/16201</a><br>
[2] - <a href="https://git.openjdk.org/jdk/pull/15964" rel="noreferrer" target="_blank">https://git.openjdk.org/jdk/pull/15964</a><br>
[3] - <a href="https://github.com/openjdk/jdk/pull/16188" rel="noreferrer" target="_blank">https://github.com/openjdk/jdk/pull/16188</a><br>
[4] - <a href="https://git.openjdk.org/jdk/pull/15476" rel="noreferrer" target="_blank">https://git.openjdk.org/jdk/pull/15476</a><br>
<br>
<br>
</blockquote></div>
</blockquote></div>