RFR: 8252725: Refactor jlink GenerateJLIClassesPlugin code
Mandy Chung
mandy.chung at oracle.com
Thu Sep 3 16:13:39 UTC 2020
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