Integrated: 8349009: JVM fails to start when AOTClassLinking is used with unverifiable old classes

Ioi Lam iklam at openjdk.org
Thu Jan 30 16:25:04 UTC 2025


On Thu, 30 Jan 2025 02:40:10 GMT, Ioi Lam <iklam at openjdk.org> wrote:

> During the testing of [JDK-8348752](https://bugs.openjdk.org/browse/JDK-8348752), we notice test failures caused by unverifiable old classes (i.e., classes with bad instructions and major version < 50).
> 
> The fix is simple. Simply exclude unlinked classes from the AOTCache when `-XX:+AOTClassLinking` is enabled.
> 
> Verified with JCK.
> 
> NOTE: I have to exclude some old CDS tests from test tasks that add the `-XX:+AOTClassLinking` flag. These test cases assume that **verifiable but unlinked** classes are archived. However, with this PR, such classes are no longer archived. These tests are now added to `TEST.groups`, along with other old CDS tests that are no longer valid with  `-XX:+AOTClassLinking`

This pull request has now been integrated.

Changeset: 1ac2d6e0
Author:    Ioi Lam <iklam at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/1ac2d6e0fb3d503241af1a44c9ed65837c63b646
Stats:     157 lines in 5 files changed: 153 ins; 0 del; 4 mod

8349009: JVM fails to start when AOTClassLinking is used with unverifiable old classes

Reviewed-by: jrose, kvn

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

PR: https://git.openjdk.org/jdk/pull/23361


More information about the hotspot-runtime-dev mailing list