Skip to content

[GR-58549] Update FFM API docs. #11962

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ redirect_from: /reference-manual/native-image/Agent/
# Collect Metadata with the Tracing Agent

The Native Image tool relies on the static analysis of an application's reachable code at runtime.
However, the analysis cannot always completely predict all usages of the Java Native Interface (JNI), Java Reflection, Dynamic Proxy objects, or class path resources.
However, the analysis cannot always completely predict all usages of the Java Native Interface (JNI), Foreign Function and Memory (FFM) API, Java Reflection, Dynamic Proxy objects, or class path resources.
Undetected usages of these dynamic features must be provided to the `native-image` tool in the form of [metadata](ReachabilityMetadata.md) (precomputed in code or as JSON configuration files).

Here you will find information how to automatically collect metadata for an application and write JSON configuration files.
Expand Down Expand Up @@ -194,4 +194,5 @@ An arbitrary number of `--input-dir` arguments with sets of configuration files

* [Build a Native Executable with Reflection](guides/build-with-reflection.md)
* [Reachability Metadata](ReachabilityMetadata.md)
* [Experimental Agent Options](ExperimentalAgentOptions.md)
* [Experimental Agent Options](ExperimentalAgentOptions.md)
* [Foreign Function and Memory API in Native Image](FFM-API.md)
5 changes: 3 additions & 2 deletions docs/reference-manual/native-image/BuildOutput.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ GraalVM Native Image: Generating 'helloworld' (executable)...
3,158 types, 3,625 fields, and 14,804 methods found reachable
1,012 types, 36 fields, and 377 methods registered for reflection
57 types, 57 fields, and 52 methods registered for JNI access
0 downcalls and 0 upcalls registered for foreign access
4 native libraries: dl, pthread, rt, z
[3/8] Building universe... (0.8s @ 0.99GB)
[4/8] Parsing methods... [*] (0.6s @ 0.75GB)
Expand Down Expand Up @@ -171,8 +172,8 @@ Large numbers can cause significant reflection overheads, slow down the build pr
#### <a name="glossary-jni-access-registrations"></a>JNI Access Registrations
The number of types, fields, and methods that are registered for [JNI](JNI.md) access.

#### <a name="glossary-foreign-downcall-and-upcall-registrations"></a>Foreign functions stubs
The number of downcalls and upcalls registered for [foreign](ForeignInterface.md) function access.
#### <a name="glossary-foreign-downcall-and-upcall-registrations"></a>Foreign Access Registrations
The number of downcalls and upcalls registered for [foreign function access](FFM-API.md).

#### <a name="glossary-runtime-methods"></a>Runtime Compiled Methods
The number of methods marked for runtime compilation.
Expand Down
1 change: 1 addition & 0 deletions docs/reference-manual/native-image/DynamicFeatures.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ The reference information here explains how Native Image handles some dynamic fe
- [Accessing Resources](ReachabilityMetadata.md#resources)
- [Certificate Management](CertificateManagement.md)
- [Java Native Interface (JNI)](ReachabilityMetadata.md#java-native-interface)
* [Foreign Function and Memory API in Native Image](FFM-API.md)
- [JCA Security Services](JCASecurityServices.md)
- [Reflection](ReachabilityMetadata.md#reflection)
- [URL Protocols](URLProtocols.md)
Loading
Loading