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