RFR JDK-8207790: [lworld] update reflection to generate ValueTypes attribute

mandy chung mandy.chung at oracle.com
Wed Jul 18 23:58:40 UTC 2018


Updated webrev:
   http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207790/webrev.01/

This revision updates proxy class generator to add ValueTypes attribute
and also added a test to verify the ValueTypes attributes generated by
three (so far) bytecode generators.  One bad news though: the proxy
class generator was written 19 years ago per the history and no stack
map table and so it has to stay in class file version 49.  We will
have to upgrade the proxy class generator (JDK-8207814).

Mandy

On 7/18/18 12:14 PM, mandy chung wrote:
> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207790/webrev.00/
> 
> The reflection class file generator is so old.  We should replace it
> with ASM. Or maybe time to consider implementing core reflection with
> method handles.  I can't resist to remove the duplicated CP entries
> (in a limited form in this patch, just the parameter types in the
> descriptor and declared value types).  We can look at the performance
> impact due to the new Map and Set added in the future.
> This patch also fixes InnerClassLambdaMetafactory to add the
> element type to the ValueTypes attributes if it's an array type.
> 
> I have verified locally on valhalla tests and currently running tier1
> tests.  I will write more tests for MH and reflection w.r.t.
> the value types consistency check to ensure all cases covered.
> 
> Mandy
> [1] 
> http://mail.openjdk.java.net/pipermail/valhalla-dev/2018-July/004728.html


More information about the valhalla-dev mailing list