Native Image Committer and Community Meeting 2025-03-27 #10915
Replies: 1 comment
-
Layered Native Image - Status UpdateGoals:
The application and its supporting layers form a chain:base-layer.so # initial layer (includes VM/JDK code)
└── mid-layer.so # intermediate layer, depends on base-layer.so, adds extra functionality
└── executable-image # application image, depends on mid-layer.so and base-layer.so When multiple applications share layers, they form a tree:base-layer.so # initial layer (includes VM/JDK code)
├── executable-image-0 # application image, depends on base-layer.so
├── mid-layer-0.so # intermediate layer, depends on base-layer.so
│ ├── executable-image-00 # application image, depends on mid-layer-0.so and base-layer.so
│ └── executable-image-01 # application image, depends on mid-layer-0.so and base-layer.so
└── mid-layer-1.so # intermediate layer, depends on base-layer.so
└── executable-image-10 # application image, depends on mid-layer-1.so and base-layer.so Create a base layer for Micronaut
Alternative : Result of a layered build[base-layer.nil] # shared layer archive file
├── base-layer.so # shared object file; used by subsequent build and runtime
├── base-layer.lsb # shared layer metadata; used by subsequent build processes
├── base-layer.big # shared layer Graal graphs; used by subsequent build processes
└── base-layer.properties # contains info about layer input data Use
|
Beta Was this translation helpful? Give feedback.
-
List of all past and upcoming meetings: #3933
The meeting after this one is planned for April 24th, 2025. The meeting will typically be on the last Thursday of each month.
New and Noteworthy
JDK 24 has been released on March 18th. JDK 25 (next LTS) is expected for mid September 2025. Version number alignment between Java and GraalVM, finally :-)
Native Image Layers
[GR-60421] Implement package-wildcards for LayerCreate package suboption. #10756
[GR-53530] Make static fields base support layer aware. #10824
[GR-62614] Layered ImageHeapMap #10906
[GR-62599] Sort fields by name and type. #10877
[GR-62602] Throw consistent error type for unsafe accesses of static word fields #10853
[GR-62799] Fix layers linker errors. #10816
[GR-59256] Write missing constants in the application layer #10797
[GR-62599] Sort fields by kind and name to ensure stable order. #10796
[GR-62607] Fix JavaMainSupport.mainArgs. #10795
[GR-62314] Register libraries from base layer in extension layers #10764
GuestGraal / LibGraal
[GR-62124] Remove jdk.graal.compiler dependency on org.graalvm.nativeimage. #10863
[GR-62316] Reduce system property access in ImageInfo. #10833
[GR-62769] Disable libgraal-specific API if it isn't needed. #10811
[GR-62569] Libgraal needs jdk.graal.compiler.management. #10769
Streamline reachability metadata
Usability
[GR-54953] Option -H:Preserve=all that preserves all classes, resources, and reflection metadata from a module, a package, or a classpath entry. #10180
[GR-49525] Option '--future-defaults=<option>' to enable options that are planned to become defaults in future releases. #10531
[GR-62624] Fix StaticProperty.javaHome to reflect user input. #10787
Monitoring / tools
Update remote JMX docs #10774 (Red Hat)
Debugging
FFM API / Panama
[GR-52573] Allow usage of foreign memory API on all platforms. #10890
[GR-63069] Fix libffi warnings on Darwin #10865
[GR-59770] [GR-62951] [GR-63030] Fixes for the NFI Panama backend #10859
[GR-58659] [GR-58660] Add FFM Support for {darwin,linux}-aarch64 on SubstrateVM #10856
[GR-52567] FFM API support for windows-amd64. #10788
[GR-59770] Make PanamaNFILanguage load cleanly on JDK 21 #10746
Remove JDK 21 from our master branch
[GR-59050] Switched Truffle gates using native-image to downloaded GraalVM-21. #10786
SBOM generation
[GR-62929] Update docs: embed SBOM by default #10893
Lazy Deoptimization (Internship)
[GR-62522] Fix Deoptimization Issues #10818
[GR-62080] Prevent out-of-memory errors during deoptimization #10741
Other & fixes
[GR-63018] Increase code alignment on AMD64 to 32 bytes. #10895
[GR-62834] Native image should respect @jdk.internal.vm.annotation.DontInline #10875
[GR-61347] [GR-62499] [GR-62610] [GR-62658] Various serial GC fixes and added option -XX:+PrintVMInfoAndExit. #10848
[GR-62604] Suggest to use the next-to-be-released musl version. #10794
[GR-63037] Cleanups and refactorings for STATUS_IN_VM. #10914
[GR-62126] Reverse dependency between svm core and svm configure projects. #10905
[GR-62810] Use CGlobalData base address from the heap in runtime-compiled code. #10901
[GR-63033] [GR-63361] Add specialized filter primitive flow for constant y operand #10897
Questions
Deep Dive: Update on Layered Native Images
Beta Was this translation helpful? Give feedback.
All reactions