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

Tobias Hartmann tobias.hartmann at oracle.com
Thu Jul 19 06:35:31 UTC 2018


Hi Mandy,

I can confirm that TestNewAcmp.java now passes (I've closed JDK-8207170 as duplicate of this).

Thanks,
Tobias

On 19.07.2018 01:58, mandy chung wrote:
> 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