Project Panama: Interconnecting JVM and native code

We are improving and enriching the connections between the Java TM 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:


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. Following the experience of Project Amber, and Project Valhalla, we have our sanbox-like repository, whose default branch is kept in sync with jdk/jdk, and where each experimental feature is developed in its own branch.

Here's a list of the branches under active development:

When first cloning the panama repository, it is necessary to update it to the desired experimental branch; this can be achieved using the hg update ${branch} command.

For an up-to-date list of the available branches, you might also want to run the hg branches command. For more information regarding each branch, please refer to the README.${branch} file in that branch (if that file does not exist, usual OpenJDK build instruction apply).

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).

Repository workflow

The repository will be managed as follows (note, this process is local and subject to change):