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

David Holmes david.holmes at oracle.com
Thu Apr 22 22:45:43 UTC 2021


On 23/04/2021 7:18 am, Yumin Qi wrote:
> On Thu, 22 Apr 2021 06:03:35 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> src/hotspot/share/memory/dynamicArchive.cpp line 376:
>>
>>> 374:     assert(THREAD->is_Java_thread(), "Should be JavaThread");
>>> 375:     log_info(cds, dynamic)("Regenerate lambdaform holder classes ...");
>>> 376:     LambdaFormInvokers::regenerate_holder_classes(THREAD);
>>
>> What if this throws an exception?
> 
> If there is exception in java side to regenerate the holder classes, there is a log for cds to indicate the regeneration failed, the exception is cleared and continue. It will not affect other parts.

There are two allocation sites in regenerate_holder_classes that use 
CHECK and so will return if an OOME is pending. In those cases the 
exception is neither logged nor cleared.

Cheers,
David
-----

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


More information about the hotspot-dev mailing list