-
Sub-task
-
Resolution: Fixed
-
P3
-
None
-
b25
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8011303 | 8 | Rickard Backman | P3 | Closed | Fixed | b84 |
In order to reduce the size overhead of Type Annotations on reflective objects, and in order to provide the desired semantics with respect to redefine classes for type annotation, the core reflection code needs a way to query the VM for the current type annotation bytes for a given Method or Field.
This was done for regular annotations in issueJDK-6422541 where the following was added:
Constructor - needs JVM_GetMethodAnnotations() and
JVM_GetMethodParameterAnnotations();
does not need JVM_GetMethodDefaultAnnotations()
Field - needs JVM_GetFieldAnnotations()
Method - needs JVM_GetMethodAnnotations(),
JVM_GetMethodDefaultAnnotations, and
JVM_GetMethodParameterAnnotations()
For type annotations only
JVM_GetMethodTypeAnnotations() and
JVM_GetFieldTypeAnnotations()
are needed due to Constructor being a method from the VM's point of view. Also default values are handled by the previous jvm.h interface.
This was done for regular annotations in issue
Constructor - needs JVM_GetMethodAnnotations() and
JVM_GetMethodParameterAnnotations();
does not need JVM_GetMethodDefaultAnnotations()
Field - needs JVM_GetFieldAnnotations()
Method - needs JVM_GetMethodAnnotations(),
JVM_GetMethodDefaultAnnotations, and
JVM_GetMethodParameterAnnotations()
For type annotations only
JVM_GetMethodTypeAnnotations() and
JVM_GetFieldTypeAnnotations()
are needed due to Constructor being a method from the VM's point of view. Also default values are handled by the previous jvm.h interface.
- backported by
-
JDK-8011303 Add JVM_Get{Field|Method}TypeAnnotations
-
- Closed
-
- relates to
-
JDK-6422541 fix for {Constructor,Field,Method} annotation cache and RedefineClasses() conflict needs HS changes
-
- Resolved
-
-
JDK-8004698 Implement Core Reflection for Type Annotations
-
- Closed
-
-
JDK-8004699 Add type annotation storage to Constructor, Field and Method
-
- Closed
-