Details
-
Bug
-
Resolution: Fixed
-
P2
-
8
-
b117
-
Verified
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8028831 | port-stage-ppc-aix | Jan Lahoda | P2 | Resolved | Fixed | master |
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.
"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
- backported by
-
JDK-8028831 Incorrect invokespecial generated for JCK lang EXPR/expr636/expr63602m* tests
- Resolved
- blocks
-
JDK-8026065 InterfaceMethodref for invokespecial must name a direct superinterface
- Closed
- relates to
-
JDK-8027789 Access method for Outer.super.m() references indirect superclass
- Resolved