RFR: 8255493: Support for pre-generated java.lang.invoke classes in CDS dynamic archive [v4]

Coleen Phillimore coleenp at openjdk.java.net
Tue Apr 27 17:40:37 UTC 2021


On Tue, 27 Apr 2021 16:53:08 GMT, Yumin Qi <minqi at openjdk.org> wrote:

>> Hi, Please review
>> 
>>   When do dynamic dump, the pre-generated lambda form classes from java.lang.invoke are not stored in dynamic archive. The patch will regenerate the four holder classes, 
>>      "java.lang.invoke.Invokers$Holder",
>>      "java.lang.invoke.DirectMethodHandle$Holder",
>>      "java.lang.invoke.DelegatingMethodHandle$Holder",
>>      "java.lang.invoke.LambdaForm$Holder"
>>   which will include the versions in static archive and new loaded functions all together and stored in dynamic archive. New test case added.
>>   (Minor change to PrintSharedArchiveAtExit, which the index is not consecutive)
>> 
>>   Tests: tier1,tier2,tier3,tier4
>>   
>>   Thanks
>>   Yumin
>
> Yumin Qi has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Moved log invoker lines to debug only, removed check for as_utf8_string

src/hotspot/share/cds/lambdaFormInvokers.cpp line 85:

> 83:   Klass*  cds_klass = SystemDictionary::resolve_or_null(cds_name, THREAD);
> 84:   guarantee(cds_klass != NULL, "jdk/internal/misc/CDS must exist!");
> 85:   DEBUG_ONLY(log_info(cds)("Total lambdaform lines %d", _lambdaform_lines->length());)

No sorry, I meant
log_debug(cds)("Total lambdaform lines %d", ...)
Since this is something you don't want with -Xlog:cds at the info level.  Same with line 77

-------------

PR: https://git.openjdk.java.net/jdk/pull/3611


More information about the hotspot-dev mailing list