[foreign] thoughts on finalizing foreign APIs
Sebastian Stenzel
sebastian.stenzel at gmail.com
Thu Sep 16 17:19:40 UTC 2021
Hi Maurizio,
very interesting article. I love all the thoughts that go into designing such a beautiful API!
Just one question regarding the following:
> we plan to move all the classes in the jdk.incubator.foreignpackage under the java.lang.foreignpackage [3] in the java.base module.
Is there any reason to place it in java.base? Just asking to avoid the need to jigsaw 2.0 java.base with JDK 32 ;-)
Best regards
Sebastian
> Am 16.09.2021 um 16:59 schrieb Maurizio Cimadamore <maurizio.cimadamore at oracle.com>:
>
> Hi,
> we have spent the last few weeks looking at the foreign APIs more holistically, to see what we could do to improve them, in order to get them preview/finalization ready. The resulting changes are described in the following write up:
>
> https://inside.java/2021/09/16/finalizing-the-foreign-apis/
>
> We think the proposed API [2, 3] is much simpler, tighter and safer - while retaining the same expressiveness of the existing API.
>
> Moving forward, we would like to start integrating the proposed changes into the panama repo, and incubate those changes in 18. We will then (finger crossed!) move towards finalizing the API, by making it a preview API in 19 (the document describes some basic shuffling moves on how we might want to do that). While we could technically preview things in 18, we believe that the extra steps required to move the API into java.base would push us too close to the code freeze deadline; besides there are still outstanding performance issues (such as [1]) which we'd like to have addressed, so that user experience can be as smooth as possible. For these reasons, incubating in 18 and previewing in 19 seems like the most sensible option at this point in time.
>
> Cheers
> Maurizio
>
> [1] - https://bugs.openjdk.java.net/browse/JDK-8259609
> [2] - http://cr.openjdk.java.net/~mcimadamore/panama/foreign-finalize-javadoc/javadoc/jdk/incubator/foreign/package-summary.html
> [3] - https://github.com/mcimadamore/panama-foreign/tree/foreign-finalize%2Bjextract
>
>
More information about the panama-dev
mailing list