OpenJDK: Panama

hackernews

Project Panama: Interconnecting JVM and native code

We are improving and enriching the connections between the Java virtual machine and well-defined but “foreign” (non-Java) APIs, including many interfaces commonly used by C programmers.

To this end, Project Panama will include most or all of these components:

  • native function calling from JVM
  • native data access from JVM or inside JVM heap
  • new data layouts in JVM heap
  • native metadata definition for JVM
  • header file API extraction tools (jextract)
  • native library management APIs
  • native-oriented interpreter and runtime “hooks”
  • class and method resolution “hooks”
  • native-oriented JIT optimizations
  • tooling or wrapper interposition for safety
  • exploratory work with difficult-to-integrate native libraries

Community

This Project is sponsored by the Hotspot Group.

Repository organization

Project Panama is designed to incubate a series of components for eventual inclusion in the JDK, via curated merge. Project Panama features are being actively developed in the following repositories:

  • Panama foreign support, which adds support for foreign memory access, as well as for foreign function calls;
  • Panama vector support, which adds vectorization support in Java through JVM intriniscs; and
  • jextract, a tool which mechanically generate Java bindings from native library headers.

The legacy Panama repository is also available here, although we do not expect to carry out further work there; as such this repository should not be used (and in the future we might make this more explicit by marking the legacy repository as read-only).

Read Full Article open_in_new
arrow_back Back to News