RFR: 8275084: CDS warning during incremental build [v2]

Yumin Qi minqi at openjdk.java.net
Wed Oct 20 19:26:09 UTC 2021


On Tue, 19 Oct 2021 03:17:04 GMT, Yumin Qi <minqi at openjdk.org> wrote:

> > > This patch removed the logging thus the archiving of SPECIES_RESOLVED functions in shared archive.
> > 
> > 
> > I find it surprising that "logging" has a direct affect on archiving!
> > Overall it is not at all clear where the actual warnings were arising from, given that if you follow this "logging" code then these species classes should have been filtered out anyway:
> > ```
> > static const char* filter[NUM_FILTER] = {"java.lang.invoke.Invokers$Holder",
> >                                          "java.lang.invoke.DirectMethodHandle$Holder",
> >                                          "java.lang.invoke.DelegatingMethodHandle$Holder",
> >                                          "java.lang.invoke.LambdaForm$Holder"};
> > 
> > static bool should_be_archived(char* line) {
> >   for (int k = 0; k < NUM_FILTER; k++) {
> >     if (strstr(line, filter[k]) != nullptr) {
> >       return true;
> >     }
> >   }
> >   return false;
> > }
> > ```
> 
> You are right, after excluded SPECIES_RESOLVE, there is no need to filter in hotspot code. I will remove all SPECIES_RESOLVE related code in CDS. Thanks

After internal discussion, decided not remove SPECIES_RESOLVE from class list, so they stilled keep shared. But remove them from classlist as regular class names. Those classes are not marked for un-shareable in flag bit since they have a source as regular class but they are not.

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

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


More information about the hotspot-runtime-dev mailing list