Native Image Committer Community Meeting 2021-12-16 #4130
Unanswered
christianwimmer
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
New and Noteworthy
Feature freeze for GraalVM 22.0 was on November 26, still possible to merge bugfixes for a few weeks.
JDK 8 support is going to be deleted. Working through the whole GraalVM gate #system to remove JDK 8 ##gates.
e02fcc1 Will be merged before Christmas. Really ;-)
New user-friendly build output:
[GR-33602] [RFC] More User-friendly Output for Native Image #3955
[GR-33602] Improve and fix ProgressReporter (#3955). #4066
[GR-33602] Bugfixes and improvements for ProgressReporter (#3955). #4100
[GR-33602] Additional bugfixes for ProgressReporter (#3955). #4106
[GR-33602] [GR-35238] [GR-35714] Additional bugfixes for ProgressReporter (#3955). #4123
Module system support:
[GR-34444] Replicate hosted module relations in runtime boot module layer #3991
[GR-34740] [GR-34739] Implement ResourcesFeature Module awareness. #4007
Support showing module names in stack traces #4056
[GR-35630] Ensure modules from module path can resolve their system module dependencies. #4110
Compatibility improvements:
[GR-34703] Sealed classes support #3979
8781e80
UseReferenceHandlerThread
will betrue
by default soon to avoid deadlocks.07a0c3f Proper
getStackAccessControlContext
implementationJFR support:
Adding support for JFR ExecutionSample event. #4005
[GR-35806] Support Flight Recorder at image build time. #4125
Refactor Jfr into core and hosted #3746 Merging blocked by JDK 8 removal
Image size reduction:
[GR-35117] Avoid pulling File and URL code in image via CodeSource.location. #4032 Uses static analysis reachability information to remove unnecessary code paths.
Other
[GR-21865] Introduce copy-on-write image heap provider on Windows. #4051
[GR-34935] Run escape analysis before static analysis. #3993
More usages of FactoryMethod #4085: Factory method are synthetic methods that combine allocation and constructor invocation
e59968c and e26fa71: Certain GC arguments need to be parsed when isolate is created. Also, custom prologues/epilogues/handlers for
CEntryPoint
methods need to be explicitlyUninterruptible
MacOS-AArch64 support:
[GR-31170] Add some AArch64 Windows and Darwin features. #3864
Fix fstat call in darwin-aarch64. #4107
Continuations:
[GR-34749] Continuation support independent of Project Loom. #4114
Deep Dive: New and improved heap scanning
Current approach:
Image heap writing found a class not seen during static analysis.
errorBetter approach: Scan and snapshot heap gradually and concurrently during analysis
jdk.internal.access.SharedSecrets
lazy fields inSecurityServicesFeature
ImageHeapMap
ConcurrentHashMap
at build time automatically transformed intoEconomicMap
for run time-H:HeapVerifierVerbosity=1
)Current status
Code structure
The heap snapshot
com.oracle.graal.pointsto.heap.ImageHeap
com.oracle.graal.pointsto.heap.ImageHeap.ImageHeapObject
ImageHeapObject
wraps the originalJavaConstant
and holds an array of referenced values (either fileds or array elements)ImageHeapObject
is created when a constant value is found as reachable by theImageHeapScanner
The heap scanner
com.oracle.graal.pointsto.heap.ImageHeapScanner
com.oracle.graal.pointsto.heap.ImageHeapScanner#scanEmbeddedRoot
com.oracle.graal.pointsto.heap.ImageHeapScanner#onFieldRead
com.oracle.graal.pointsto.heap.TypeData
)com.oracle.graal.pointsto.heap.ImageHeapScanner#rescanRoot
com.oracle.graal.pointsto.heap.ImageHeapScanner#rescanField
com.oracle.graal.pointsto.heap.ImageHeapScanner#rescanObject
The heap snapshot verifier
com.oracle.graal.pointsto.heap.HeapSnapshotVerifier
com.oracle.graal.pointsto.heap.HeapSnapshotVerifier#verifyHeapSnapshot
com.oracle.graal.pointsto.ObjectScanningObserver
and reusescom.oracle.graal.pointsto.ObjectScanner
Future steps
Open Discussion
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