Issue Details (XML | Word | Printable)

Key: JDO-195
Type: New Feature New Feature
Status: Closed Closed
Resolution: Won't Fix
Priority: Minor Minor
Assignee: Martin Zaun
Reporter: Martin Zaun
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JDO

JDO11 RI enhancer support for JDK1.5 classfiles

Created: 29/Oct/05 12:48 AM   Updated: 16/May/08 04:24 PM
Return to search
Component/s: ri11
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified

File Attachments:
  Size
File Licensed for inclusion in ASF works patch_ri11_enhancer_jdk15_wo_signatures 2005-10-29 02:15 AM Martin Zaun 29 kB

Resolution Date: 16/May/08 04:24 PM


 Description  « Hide
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


 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Martin Zaun added a comment - 29/Oct/05 02:15 AM
There's an open issue whether Signature attributes have to be
supplied for augmented JDO methods that carry the type of managed
fields or the PC class as parameter or return. This patch provides
support for SignatureAttribute in the enhancer's classfile library
but does not have the changes to the enhancer's core component to
generate signatures for the JDO accessor, mutator, and jdoCopyField
methods. Once resolved, we might address this by a second patch.

Martin

Michael Bouschen added a comment - 02/Nov/05 12:12 AM
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.

Craig Russell added a comment - 16/May/08 04:24 PM
No more work is being planned for this release.