Repository navigation
Native Image Committer and Community Meeting 2026-09-24 #14490
Unanswered
wirthi
asked this question in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
List of all past and upcoming meetings: #3933
GraalVM Community Summit October 21-22, 2026 in Zurich.
The meeting after this one is planned for December 3rd, 2026. The meeting will typically be on the last Thursday of each month. (we will skip the October meeting as there is the Community Meeting in Zurich around that time; moving back the November one by one week to avoid colliding with Thanksgiving).
PRs listed below were merged on GitHub between August 25th, 2026 and September 22nd, 2026.
New and Noteworthy
GraalVM 25.4.4.1.1 has been released.
Native Image Layers and Analysis improvements
Analysis enhancements
(summarized change) Improves Native Image type checks with exact-type hints: lower
instanceofchecks effectively into a small polymorphic inline cache of likely exactDynamicHubmatches before falling back to the generic closed- or open-world type check.(summarized change) Improves array-copy type-flow precision: models
CopyOfNoderesults precisely when the requested array type comes fromObject.getClass()or an array class constant..(summarized change) Improves inlining-before-analysis heuristics to enable more analysis optimizatoins: always inline
Objects.requireNonNullto propagate nullness, always inlineArrays.copyOfto propagate precise array types.Other analysis fixes
(summarized change) Registers Graal field metadata types for hosted Native Image processing.
(summarized change) Stabilizes hosted thread bookkeeping together with image-heap field-value handling.
Layered Images
(summarized change) When a lambda has no capture site (e.g., created via
LambdaMetafactory) use a stable fallback name to make lambda parsing and cross-layer type reconstruction more robust.(summarized change) Fixes
ImageSingletonsaccess for application-layer-only singletons in shared layers.Other fixes
(summarized change) Groups
DynamicHubCompanion, class-initialization metadata, and associated lock synchronizers in the image heap.Project Crema
Native Image Support / Java Compatibility
(summarized change) Use the Crema
libjvm.so(i.e., the VM implementation behindjavacommand) to drive Maven itself (compile, test, package) and then run the built Micronaut app. Major stress test, Maven does a lot of dynamic class loading.(summarized change) Adds reachability metadata to expose
com.sun.tools.javac.Main.main(String[])through JNI inlibjvm, allowing native callers to invokejavac.(summarized change) Supports JShell with the Crema
libjvm.(summarized change) Supports reflective calls to caller-sensitive methods in runtime-loaded classes.
(summarized change) Adds FFM upcall support from runtime-loaded classes.
(summarized change) Adds FFM downcall support from runtime-loaded classes.
(summarized change) Uses
invokespecialfor statically bindableMethodHandleNatives.initcallsmaybeBindCallerin crema mode. #14364Crema Interpreter / Runtime Class Loading
(summarized change) Retains the frame-state values needed by interpreter handler stubs.
(summarized change) Refactors Crema interpreter handlers to prepare for caching the top operand-stack values in fast local state.
Ristretto / Crema JIT
(summarized change) Adds HotSpot-compatible compilation modes to Ristretto, including -Xcomp, which compiles eligible runtime-loaded methods before their first invocation.
(summarized change) Makes concurrent type-profile reads consistent.
(summarized change) Normalizes hierarchy queries for mixed Ristretto types.
(summarized change) Collects bounded Crema PGO profiles for Xint and Ristretto.
Project Terminus: Towards the "Hello, Espresso World!" #12236
(summarized change) Runs user features in the guest context and completes Terminus HelloWorld Feature Milestone 1, with all features passing
afterRegistration.(summarized change) Moves inlining-before-analysis heuristics into common code and makes policy decisions guest-aware through JVMCI metadata, including method-handle intrinsification.
(summarized change) Makes Native Image immutable-object registration constant-native, replacing builder objects and host reflection with JVMCI constants and metadata.
(summarized change) Migrates Native Image object replacement to JVMCI constants, separating ordinary and terminal replacement while preserving replacement ordering and compatibility behavior.
(summarized change) Adds explicit guest-interface-to-host-method proxy mappings, preserves fallback name matching and cache correctness, and supports the behavior in both host and Espresso
VMAccess.(summarized change) Improves guest-feature error reporting and preserves useful guest stack traces across the guest/host boundary.
Usability and Reachability Metadata
(summarized change) Moves build-time
invokedynamic/constantdynamicregistration to the public Native Image API.(summarized change) Improves
-Werrordiagnostics by checking warning counts and runtime-initializing the reporting support.(summarized change) Adds URI-compatible URLs for Native Image resource files and resource metadata tests.
(summarized change) Improves Java main-class detection for abstract classes.
Monitoring / Tooling / Debugging
(summarized change) Resets the hosted JFR throttler lock without retaining a hosted worker thread in the runtime image.
(summarized change) Reduces
DeadlockWatchdogoverhead by using one boolean while preserving watchdog diagnostics.Garbage Collector / Memory Management
(summarized change) Improves option validation and fixes several Serial GC issues.
(external contribution) Thank you to JohnTortugo for the Generational Shenandoah off-heap card-mark fix.
Other & fixes
Questions?
GraalVM Deep Dives
All reactions