Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8314041

5.3.5: Clarify meaning of "defining loader" when invoking class resolution

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 22
    • 21
    • specification
    • vm

      In the Java Virtual Machine Specification (JVMS) §5.3.5. “Deriving a Class from a class File Representation” (https://docs.oracle.com/javase/specs/jvms/se20/html/jvms-5.html#jvms-5.3.5), step 3 reads:

      “If C has a direct superclass, the symbolic reference from C to its direct superclass is resolved using the algorithm of §5.4.3.1.”

      Now, to resolve the symbolic reference from C to its direct superclass by the algorithm of §5.4.3.1, the defining loader of C (that is, the defining loader of D in §5.4.3.1) shall be used in the algorithm. However, the defining loader for C in §5.3.5 is only marked as such later, in step 4 of §5.3.5, and only when no exception is thrown before.

      So I think this point deserves some improvements.

            dlsmith Dan Smith
            rgiulietti Raffaello Giulietti
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: