-
Bug
-
Resolution: Fixed
-
P2
-
5.0
-
None
-
1.6
-
generic
-
generic
The posted spec for 1.5 ldc changes:
http://java.sun.com/docs/books/jvms/second_edition/ClassFileFormat-Java5.pdf
page 159, says:
"The operand of each ldc instruction must be a valid index into the
constant_pool table. The operands of each ldc_w instruction must represent
a valid index into the constant_pool table. In both cases the constant pool
entry referenced by that index must be of type CONSTANT_Class,
CONSTANT_Integer, CONSTANT_Float, or CONSTANT_String if the class file
version number is less than 49.0 If the class file version is 49.0 or above, then
the constant pool entry referenced by the enty must be of type
CONSTANT_Class, CONSTANT_Integer, CONSTANT_Float, or
CONSTANT_String or CONSTANT_Class."
Shouldn't this read a little more like:
"The operand of each ldc instruction must be a valid index into the
constant_pool table. The operands of each ldc_w instruction must represent
a valid index into the constant_pool table. In both cases the constant pool
entry referenced by that index must be of type
CONSTANT_Integer, CONSTANT_Float, or CONSTANT_String if the class file
version number is less than 49.0. If the class file version is 49.0 or above, then
the constant pool entry referenced by the index must be of type
CONSTANT_Integer, CONSTANT_Float,
CONSTANT_String, or CONSTANT_Class."
In other words, CONSTANT_Class should be listed only for 49.0 and
above, and the spelling and punctuation errors should be fixed.
http://java.sun.com/docs/books/jvms/second_edition/ClassFileFormat-Java5.pdf
page 159, says:
"The operand of each ldc instruction must be a valid index into the
constant_pool table. The operands of each ldc_w instruction must represent
a valid index into the constant_pool table. In both cases the constant pool
entry referenced by that index must be of type CONSTANT_Class,
CONSTANT_Integer, CONSTANT_Float, or CONSTANT_String if the class file
version number is less than 49.0 If the class file version is 49.0 or above, then
the constant pool entry referenced by the enty must be of type
CONSTANT_Class, CONSTANT_Integer, CONSTANT_Float, or
CONSTANT_String or CONSTANT_Class."
Shouldn't this read a little more like:
"The operand of each ldc instruction must be a valid index into the
constant_pool table. The operands of each ldc_w instruction must represent
a valid index into the constant_pool table. In both cases the constant pool
entry referenced by that index must be of type
CONSTANT_Integer, CONSTANT_Float, or CONSTANT_String if the class file
version number is less than 49.0. If the class file version is 49.0 or above, then
the constant pool entry referenced by the index must be of type
CONSTANT_Integer, CONSTANT_Float,
CONSTANT_String, or CONSTANT_Class."
In other words, CONSTANT_Class should be listed only for 49.0 and
above, and the spelling and punctuation errors should be fixed.