RFR: 8164044: Generate corresponding simple DelegatingMethodHandles when generating a DirectMethodHandle
Claes Redestad
claes.redestad at oracle.com
Thu Aug 18 14:13:26 UTC 2016
Michael, Vladimir,
thanks for reviewing and suggesting improvements.
Getting rid of LF.debugName seems like a rather straight-forward and
worthwhile cleanup at this point.
/Claes
On 2016-08-18 16:13, Vladimir Ivanov wrote:
> Good work! Reviewed.
>
> Best regards,
> Vladimir Ivanov
>
> PS: I wish LF.debugString completely went away, but let's keep it for
> future cleanup.
>
> On 8/18/16 12:33 AM, Claes Redestad wrote:
>> Hi,
>>
>> please review this change which adds pre-generation of simple
>> DelegatingMethodHandles corresponding to the DirectMethodHandles we
>> already pre-generate during linking.
>>
>> webrev: http://cr.openjdk.java.net/~redestad/8164044/webrev.02/
>> bug: https://bugs.openjdk.java.net/browse/JDK-8164044
>>
>> This also includes some cleanup suggested by Vladimir during internal
>> review, such as:
>>
>> - adding an enum to control this behavior, which allows removing the
>> special version of LF.compileToBytecode introduced by JDK-8163369
>> - refactored resolution of pregenerated code to the
>> InvokerBytecodeGenerator
>> - removing reliance on the LF.debugName (which we have some loose ideas
>> to remove from LF and tuck away in a map we only create and initialize
>> when actually debugging).
>>
>> This patch removes 11 out of the 39 classes generated on first use of
>> the StringConcatFactory in a simple test, amounting to a ~10ms speedup
>> on my machine.
>>
>> Thanks!
>>
>> /Claes
More information about the core-libs-dev
mailing list