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