RFR: Store cpu features in AOTCodeCache header [v5]
Ashutosh Mehra
asmehra at openjdk.org
Wed Jul 23 22:07:32 UTC 2025
> This is the initial version of storing cpu features in the AOTCodeCache to verify runtime env has the same cpu capabilities as the assembly env. It covers both x86 and aarch64.
> AOTCodeCache header is updated to store the cpu features in arch-dependent form (although its same for currently supported architectures - x86 and aarch64).
>
> It also fixes a bug - the `polling_page_vectors_safepoint_handler_blob` can be null if AVX is not present on a system. This causes crash as this blob's entry point is stored in the address table.
> I came across this when I did the assembly run with -XX:UseAVX=0 option.
Ashutosh Mehra has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 11 commits:
- Merge branch 'premain' into aot-cache-feature-flags
- Add test to check cpu feature incompatibility
Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
- Ignore CPU_HT when storing cpu features in AOTCodeCache
Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
- Fix formatting of log messages
Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
- Restore changes deleted by mistake
Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
- Use FormatBuffer to obtain cpu features names string
Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
- Merge branch 'premain' into aot-cache-feature-flags
Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
- Remove UseSSE and UseAVX checks
Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
- Merge branch 'premain' into aot-cache-feature-flags
- Address review comments
Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
- ... and 1 more: https://git.openjdk.org/leyden/compare/a529aa73...5f872c11
-------------
Changes: https://git.openjdk.org/leyden/pull/84/files
Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=04
Stats: 581 lines in 11 files changed: 413 ins; 29 del; 139 mod
Patch: https://git.openjdk.org/leyden/pull/84.diff
Fetch: git fetch https://git.openjdk.org/leyden.git pull/84/head:pull/84
PR: https://git.openjdk.org/leyden/pull/84
More information about the leyden-dev
mailing list