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

Calvin Cheung ccheung at openjdk.java.net
Tue Apr 27 18:03:38 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

Looks good. Just a few minor comments.

src/hotspot/share/cds/archiveBuilder.cpp line 263:

> 261:   log_info(cds)("    obj array classes  = %5d", _num_obj_array_klasses);
> 262:   log_info(cds)("    type array classes = %5d", _num_type_array_klasses);
> 263:   log_info(cds)("    symbols = %5d", _symbols->length());

Please align the '=' at line 263 with the line above.

src/hotspot/share/cds/filemap.hpp line 240:

> 238:   size_t _ptrmap_size_in_bits;          // Size of pointer relocation bitmap
> 239:   narrowOop _heap_obj_roots;            // An objArray that stores all the roots of archived heap objects
> 240: 

I think you can revert the changes to this file since there are only couple of blank lines addition/deletion probably by mistake.

test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicRegenerateHolderClasses.java line 26:

> 24: 
> 25: /*
> 26:  * @test

Please add a `@bug` line to this file.

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

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


More information about the hotspot-dev mailing list