RFR: 8009719: core reflection should get type annotation data from the VM lazily

Erik Joelsson erik.joelsson at oracle.com
Mon Sep 23 08:02:58 UTC 2013


Or wait, you added a c-file to libjava and want the old build to keep 
working, then you need to add that file to jdk/make/java/java/FILES_c.gmk.

/Erik

On 2013-09-23 09:59, Erik Joelsson wrote:
> Build part of the changes are fine.
>
> /Erik
>
> On 2013-09-21 16:26, Joel Borggren-Franck wrote:
>> 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