[foreign] RFR: Fix UndefinedLayoutException exception message

John Rose john.r.rose at oracle.com
Tue Jan 29 20:09:07 UTC 2019


On Jan 29, 2019, at 6:59 AM, Maurizio Cimadamore <maurizio.cimadamore at oracle.com> wrote:
> 
> Resolving references across interfaces is not expected to work reliably. This is the primary reason which sends us towards an extraction model that is library-centric, rather than header-centric, so that all references in a library should be self-contained.

The important thing is that when a header file is loaded
into the binder, the binder knows which library it belongs
to, so that information global to the library, and non-local
to the header, can be accessed by the binder.  This is pushing
us towards a single-session mode of jextract, where everything
is extracted in one go, and so it's obvious which headers go
together.

I think we also need to consider how to compose separate
jextract sessions into a single library, and even (in some
cases) compose libraries together, inheriting common
definitions from one library into several others.  The libc
library is obviously a candidate for this, but as long as it
is the only shared uber-library, we can special-case it,
or even just copy definitions from it into all other sessions.

Eventually I want to apply jextract to the HotSpot header
files, which have a very complex structure.  This may require
us to work harder on composable jextract sessions.

— John


More information about the panama-dev mailing list