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

Incorrect invokespecial generated for JCK lang EXPR/expr636/expr63602m* tests

    XMLWordPrintable

Details

    • b117
    • Verified

    Backports

      Description

        During testing of the fix for JDK-8026065: "InterfaceMethodref for invokespecial must name a direct superinterface", 4 failing JCK lang tests were observed. The fix for JDK-8026065 adds new Hotspot verification code to check that invokespecial names a method in a direct superinterface of the current class or interface. See (JVMS draft 0.6.3) 4.9.2 Structural Constraints,

           "Each invokespecial instruction must name an instance initialization method (2.0) or
            must reference a method in the current class or interface, a method in a superclass of the
            current class or interface, or a method in a direct superinterface of the current class or interface."


        The failing tests are:

        lang/EXPR/expr636/expr63602m06
        lang/EXPR/expr636/expr63602m26
        lang/EXPR/expr636/expr63602m62
        lang/EXPR/expr636/expr63602m261

        2 email threads are attached. The first Karen Kinnear made an inquiry to the javac folks concerning javac issuing an invokespecial on an indirect InterfaceMethodRef. The second email attached is from Dan Smith who indicates that this is a javac bug.

        The Hotspot Runtime team will hold off on committing the new verification code until this is an acknowledged bug since the commit will cause these 4 JCK tests to start failing.

        Attachments

          Issue Links

            Activity

              People

                jlahoda Jan Lahoda
                lfoltan Lois Foltan
                Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: