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

InterfaceMethod CP entry pointing to a class should cause ICCE

    Details

    • Subcomponent:
    • Resolved In Build:
      b122

      Description

      The original fix of 8087223 caused test failures, led two bugs filed: 8143317 and 8143320. The test failures will be addressed in the two bugs. The fix itself has no problem but the test cases failed on it should be changed so the fix should be integrated again.

      The following invoke instructions are successfully executed:
         invokestatic #3; //InterfaceMethod C.foo:()V
         invokestatic #3; //Method I.foo:()V

      where
        class C {...}
        interface I {...}

      JVMS-5.4.3.3 Method Resolution:
       " If C is an interface, method resolution throws an IncompatibleClassChangeError."
      JVMS-5.4.3.4 Interface Method Resolution:
       "If C is not an interface, interface method resolution throws an IncompatibleClassChangeError"

      Test case attached(IntfMethod.java):
      $ java -Xverify:all IntfMethod
      testSpecialIntf: FAILED (no exception)
      testStaticIntf: FAILED (no exception)
      testSpecialClass: FAILED (no exception)
      testStaticClass: FAILED (no exception)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                coleenp Coleen Phillimore
                Reporter:
                minqi Yumin Qi
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: