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