-
Bug
-
Resolution: Not an Issue
-
P2
-
9
The class parser in HotSpot needs to support these the constant pool items defined for class files >= 53.0.
From Alex "for a >=53.0 ClassFile:
- If ACC_MODULE is set, throw NCDFE if attempting to define the class.
- If ACC_MODULE is not set, parse as an ordinary class. The Module attribute must be ignored, since it's in the same "not critical to the JVM" bucket as the Runtime*Annotations attributes. Constant pool tags 19 (CONSTANT_Module) and 20 (CONSTANT_Package) are legal, so a JVM implementation must not reject them. Hopefully, HotSpot will at least validate that CONSTANT_Module_info and CONSTANT_Package_info entries point to CONSTANT_Utf8_info entries."
From Alex "for a >=53.0 ClassFile:
- If ACC_MODULE is set, throw NCDFE if attempting to define the class.
- If ACC_MODULE is not set, parse as an ordinary class. The Module attribute must be ignored, since it's in the same "not critical to the JVM" bucket as the Runtime*Annotations attributes. Constant pool tags 19 (CONSTANT_Module) and 20 (CONSTANT_Package) are legal, so a JVM implementation must not reject them. Hopefully, HotSpot will at least validate that CONSTANT_Module_info and CONSTANT_Package_info entries point to CONSTANT_Utf8_info entries."
- blocks
-
JDK-8175089 [TESTBUG] jdk/internal ConstantPoolTest.java should test CONSTANT_Module and CONSTANT_Package
-
- Closed
-
-
JDK-8175196 pack200 does not handle class files with new constant pool tags
-
- Closed
-
- relates to
-
CODETOOLS-7901900 jasm and jcod can't handle new constant pool types
-
- Closed
-
-
JDK-8174725 JVM should throw NoClassDefFoundError if ACC_MODULE is set in access_flags
-
- Resolved
-