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.