RFR: 8009719: core reflection should get type annotation data from the VM lazily
Joel Borggren-Franck
joel.franck at oracle.com
Sat Sep 21 14:26:47 UTC 2013
Hi
A while ago [1] I introduced an extra field in to j.l.r.Method,
j.l.r.Constructor, and j.l.r.Field in order to support reflection for
type annotations. These fields were intended to be removed later, they
were there to make the coordination between VM and libraries easier when
implementing reflection for type annotations.
This change removes the fields. Reflection for type annotations simply
get the bytes from the vm lazily when it needs them. Because reflection
for type annotations is suspected to be fairly uncommon and not
performance critical no caching is done. This can be changed later.
The vm side of things were pushed a while back [2], this is the JDK side
of the changes.
This is a refactoring, all current annotation and type annotation tests
pass after this change.
Webrev: http://cr.openjdk.java.net/~jfranck/8009719/webrev.01/
Bug id: https://bugs.openjdk.java.net/browse/JDK-8009719
Also including build-dev since I needed to update the mapfiles. To my
knowledge I have updated both the old and the new build.
Please review
cheers
/Joel
[1] : http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/6d977f61af5e
[2] : http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/1916ca1dec2f
More information about the build-dev
mailing list