JDO11 RI enhancer support for JDK1.5 classfiles
-----------------------------------------------
Key: JDO-195
URL: http://issues.apache.org/jira/browse/JDO-195
Project: JDO
Type: New Feature
Components: ri11
Reporter: Martin Zaun
Assigned to: Martin Zaun
The JDO11 RI enhancer should be extended to support JDK 1.5 classfiles.
According to the JDK 1.5 ammendments to the VM Spec, 2nd edition
http://java.sun.com/docs/books/vmspec/2nd-edition/jvms-maintenance.html
support for the following new features is needed:
- new major, minor version number: {49,0}
- new access and property modifiers:
- new class modifiers:
ACC_ANNOTATION 0x2000 Declared as an annotation type.
ACC_ENUM 0x4000 Declared as an enum type.
- new field flag:
ACC_ENUM 0x4000 Declared as an element of an enum.
- new method flags:
ACC_BRIDGE 0x0040 A bridge method, generated by the compiler.
ACC_VARARGS 0x0080 Declared with variable number of arguments.
- new opcode: invokedynamic
Operation: Invoke instance method; resolve and dispatch based on class
Format: invokedynamic, indexbyte1, indexbyte2
Forms: invokedynamic = 186 (0xba)
Operand Stack: ..., objectref, [arg1, [arg2 ,T](B] => ...
- new ldc, ldc_w operand type: CONSTANT_Class
- new Signature Attribute
It needs to be investigated whether Signature attributes have to be
supplied for JDO methods that carry the type of managed fields or
the PC class as parameter or return.
- The other new, pre-defined attributes don't need explicit support but
can be handled by the enhancer generically:
- new EnclosingMethod attribute
- new RuntimeVisibleAnnotations attribute
- new RuntimeInvisibleAnnotations attribute
- new RuntimeVisibleParameterAnnotations attribute
- new RuntimeInvisibleParameterAnnotations attribute
- new AnnotationDefault attribute
- new SourceDebugExtension Attribute
- new LocalVariableTypeTable Attribute
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira