RFR: 8252725: Refactor jlink GenerateJLIClassesPlugin code

Yumin Qi yumin.qi at oracle.com
Thu Sep 3 15:36:28 UTC 2020


Hi, Please review


bug: https://bugs.openjdk.java.net/browse/JDK-8252725

webrev: http://cr.openjdk.java.net/~minqi/2020/8252725/webrev-01/


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