Native Image Committer Community Meeting 2022-03-10 #4385
Unanswered
christianwimmer
asked this question in
Show and tell
Replies: 1 comment
-
"Conditional reflection configuration, and recent tracing agent improvements to create it" sounds good. Thanks Christian! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
List of all past and upcoming meetings: #3933
New and Noteworthy
GraalVM 22.1 feature freeze is on March 11.
Compatibility improvements
[GR-36905] Implement --link-at-build-time and @<prop-values-file>. #4305
[GR-36431] Use reflection metadata for all objects #4222
[GR-30347] [GR-20166] Remove OperatingSystemMXBean substitutions. #4383
567e1f2
[GR-36411] Use jdk.internal.misc.Unsafe instead of sun.misc.Unsafe #4373
Image build time
6ab8d84
[GR-36817] Build class initialization information eagerly when a type gets reachable. #4317
[GR-37031] Reduce heap snapshot footprint. #4381
Debugging
[GR-37068] Add debug helper methods. #4351
JFR
Implementation of ExecuteVMOperationEvent #4368
Implementation of Safepoint events #4330
Implementation of GarbageCollection event #4312
Module system implementation - state and implications
Currently supported module-related native-image options:
Currently unsupported options
From java --help
From java --help-extra
Remaining options will be added on demand (if the need arises)
Module-aware resource and resource bundle support
resource-config.json
With module support we can use:
resource-config.json
Include
resource-file.txt
only from Java module library-module.Even if other modules or classpath contains resources that would match pattern ^resource-file.txt$
Using
<module-name>:
ensures module is available at runtime (even if not referenced anywhere else)Resources / Resource Bundles are per module
Suppose you have:
Using the following at image runtime:
The Enumeration<URL> contains all
module-info.class
resources registered via Feature at build-time!Image builder running on module path vs. running on classpath
Blockers for switching to running builder on module-path per default
Fix all module access issues when running builder on module-path
e.g. mx native-unittest –builder-on-modulepath needs to work for every usecase
Build key-GraalVM components on module-path
We already build all GraalVM release native-images coming from the substratevm-suite on module-path
But:
Module info at image-runtime
ModuleLayer.boot()
at image runtime cannot simply return the same results asModuleLayer.boot()
at image buildtimec.o.svm.hosted.ModuleLayerFeature
takes care of that:--add-exports
,--add-opens
, ...) are translated from hosted modules to runtime modules (e.g. Resource bundle reflective instantiation)Support for runtime module creation and dynamic visibility changes (even needed by JDK code itself – e.g. XSLT processor generates modules at runtime)
Running
mx hellomodule
tests this feature (among others)Module aware stack-traces (WIP):
Instead of:
We will have:
See PR: Show module name and version in stacktraces #4243
Current fully qualified classname limitation
native-image -H:CompilerBackend=llvm
Possible deep dive topics for next meeting
Please send suggestions, or "upvote" a suggestion, by adding a comment to this discussion.
Beta Was this translation helpful? Give feedback.
All reactions