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