RFR: 8164483: Generate field lambda forms at link time
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Wed Aug 24 13:27:39 UTC 2016
> http://cr.openjdk.java.net/~redestad/8164483/webrev.02/
Looks good.
Best regards,
Vladimir Ivanov
>>
>> Regarding LambdaForm.Kind, IMO field accessors push enum approach to the
>> limit. Let's think about better ways to represent LF shape in a
>> structured manner, but I'm fine with keeping it for future cleanup.
>
> Agreed, this is begging for a better abstraction/structure.
>
> Thanks!
>
> /Claes
>
>>
>> Overall, looks good.
>>
>> Best regards,
>> Vladimir Ivanov
>>
>> [1]
>> http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/496a116876a3/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java#l931
>>
>>
>>
>> On 8/23/16 11:57 AM, Claes Redestad wrote:
>>> Hi,
>>>
>>> this patch adds link-time generation of the simplest field lambda forms.
>>> This avoid generating these forms during bootstrapping, which is
>>> commonly done early on in even the simplest startup tests.
>>>
>>> To make this work, injecting Unsafe as a constant replacement had to be
>>> replaced with a getter function, resulting in a few more bytecodes to do
>>> the same thing, but which after inlining should turn into equivalent
>>> code; performance testing indicate this change is performance neutral.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8164483
>>> Webrev: http://cr.openjdk.java.net/~redestad/8164483/webrev.01/
>>>
>>> Together with JDK-8164569 (which I've tested together with this) this
>>> removes all class generation from runtime in the tests associated with
>>> JDK-8086045
>>>
>>> Thanks!
>>>
>>> /Claes
More information about the core-libs-dev
mailing list