RFR: 8340012: [C2] assert(KlassEncodingMetaspaceMax > pd) failed: change encoding max if new encoding after 8338526
Martin Doerr
mdoerr at openjdk.org
Fri Sep 13 15:43:21 UTC 2024
On Fri, 13 Sep 2024 15:15:19 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> After JDK-8338526, the transformation can only be done if the Klass* is in the encoding range (also see JBS issue for more details). I've also enhanced the assertion message.
>
> All you need is an interface class to go through this code. I wonder why it only failed on AIX?
> > > @coleenp, do you have an assert in your changes which check that only abstract and interface classes are outside encoding space? I concern that due to some bug we would get regular class outside.
> >
> >
> > I only check these conditions when allocating the Klass. Maybe it could be added to CompressedKlassPointers::is_in_encoding_range().
>
> @TheRealMDoerr can you add such assert?
I've added a sanity check in the `ciKlass` version. `CompressedKlassPointers::is_in_encoding_range()` takes a `void*` and I don't want to assume that it will always point to the beginning of a Klass.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20971#issuecomment-2349249318
More information about the hotspot-dev
mailing list