RFR: 8252725: Refactor jlink GenerateJLIClassesPlugin code

Yumin Qi yumin.qi at oracle.com
Thu Sep 3 22:11:39 UTC 2020


HI, Mandy

   Thanks for review and comment.


Yumin

On 9/3/20 9:13 AM, Mandy Chung wrote:
>
>
> On 9/3/20 8:36 AM, Yumin Qi wrote:
>> Hi, Please review
>>
>>
>> bug: https://bugs.openjdk.java.net/browse/JDK-8252725
>>
>> webrev: http://cr.openjdk.java.net/~minqi/2020/8252725/webrev-01/
>>
>
> Looks good to me.   Sundar should also review it.
>
> A few things to mention compared to the proposed patch from 8247536:  we no longer log the error case for LF_RESOLVE since it's ignored anyway.  As the code is moved to java.lang.invoke, we also clean up the code to use constants and methods defined in LambdaForm and MethodTypeForm and BasicType (rather than duplicating such definitions).
>
> Mandy
>>
>> Summary: The work is part of 8247536, which supports archive pre-generated java.lang.invoke classes in CDS. In this patch (thanks to Mandy):
>>
>> 1. Two methods for tracing SPECIES_RESOLVE and LF_RESOLVE are added to GenerateJLIClassesHelper: traceSpeciesType and traceLambdaForm respectively;
>>
>> 2. Move log file parsing work to java.lang.InvokeJLIClassesHelper;
>>
>> 3. Clean up interface APIs since old APIs no longer used with the moving;
>>
>> 4. New API JavaLangInvokeAccess::generateHolderClassesreturns a map of class name, which in internal form as key rather than the jimage entry point, vs class bytes.
>>
>> This makes both JLI and CDS can use the new interface easily. CDS will add a new function (in 8247536 patch, only for convenience for converting the map to array) to GenerateJLIClassesHelper to call the new added interface API (generateHolderClasses)to regenerate holder classes during dump time.
>>
>>
>> Thanks
>>
>> Yumin
>>
>>
>


More information about the core-libs-dev mailing list