• Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Icon: P4 P4
    • 21
    • 21
    • hotspot
    • b04

      The current implementation of java.lang.Module requires the use of "archived oops" via the HeapShared::find_archived_heap_object API:

      https://github.com/openjdk/jdk/blob/c7aca73177339f931f7dfb6627365548a32874f7/src/hotspot/share/classfile/moduleEntry.cpp#L474

          oop m = HeapShared::find_archived_heap_object(module_obj);
          assert(m != NULL, "sanity");
          _archived_module_index = HeapShared::append_root(m);

      This violates requirement [1] of JDK-8298600 and should be refactored.

      ******

      Also, we should add verification code that all the archived java.lang.Module oops and their corresponding ModuleEntry objects (if any) must be in a consistent state. More comments should be added to explain how these objects are stored into, and loaded from, the CDS archive.


            iklam Ioi Lam
            iklam Ioi Lam
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: