RFR: 8317269: Store old classes in linked state in AOT cache [v2]

Ioi Lam iklam at openjdk.org
Tue Aug 19 23:32:42 UTC 2025


On Mon, 18 Aug 2025 18:30:01 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>>> Does InstanceKlass have info on whether each method used the old verifier or StackMapTable?
>> 
>> The "fail over" verification happens on the entire class file. If a Java 6 class failed the new verification, it will be verified again with the old verifier.
>> 
>> Currently, such classes will be excluded from the AOT cache:
>> 
>> https://github.com/openjdk/jdk/blob/c5cbcac828e1c7aa845cf16e68f6306ae49e050c/src/hotspot/share/classfile/verifier.cpp#L231-L243
>> 
>> I will add a test case in this PR to make sure this case is covered. 
>> 
>> I also created a new RFE to include such classes in the AOT cache: https://bugs.openjdk.org/browse/JDK-8365575
>
> I don't know why you don't fix these together, ie why does this differentiate < 50 classfiles or 50 that failed over to the old verifier?  Seems like is_old_class_for_verifier should be both.  You might have to set a status flag in the classfile for this though.

This PR is complicated enough, so I want to fix the `== 50` case in a separate PR.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26754#discussion_r2286611939


More information about the hotspot-dev mailing list