You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by "Michael Bouschen (JIRA)" <ji...@apache.org> on 2005/11/01 16:12:56 UTC

[jira] Commented: (JDO-195) JDO11 RI enhancer support for JDK1.5 classfiles

    [ http://issues.apache.org/jira/browse/JDO-195?page=comments#action_12356506 ] 

Michael Bouschen commented on JDO-195:
--------------------------------------

I can't say much about the patch, just two comments:

- It looks like the new opcode opc_invokedynamic replaces the placeholder opc_xxxunusedxxx used in the old code. There are a couple of places where the old code used the placeholder opc_xxxunusedxxx and the new code still has this line in comments. I propose to remove this comment. Please have a look at VMOp.java, Insn.java, InsnSingle.java and VMConstants.java.
- The patch sets the executable flag for file SignatureAttribute.java. I'm not sure whether this is na issue, but please check whether the file has the correct permissions before you check in.

> 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
>     Assignee: Martin Zaun
>  Attachments: patch_ri11_enhancer_jdk15_wo_signatures
>
> 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