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