HeapShared::initialize_from_archived_subgraph(Klass*) is triggered to initialize all classes for objects enclosed in the subgraph(s) (related to the requesting Klass) and install the subgraph(s) back to the requesting Klass's entry fields. Currently all archived subgraphs are initialized and installed during JVM bootstrapping at runtime, no locking is done.
In the future, with new subgraphs are added to the archive, we probably need to add locking in HeapShared::initialize_from_archived_subgraph(Klass*) to avoid any potential race condition.
In the future, with new subgraphs are added to the archive, we probably need to add locking in HeapShared::initialize_from_archived_subgraph(Klass*) to avoid any potential race condition.
- relates to
-
JDK-8202035 Archive the set of ModuleDescriptor and ModuleReference objects for observable system modules with unnamed initial module
- Resolved