RFR: Store cpu features in AOTCodeCache header [v3]

Ashutosh Mehra asmehra at openjdk.org
Tue Jul 15 21:20:36 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 incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:

 - 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>
 - Store cpu features in AOTCodeCache header
   
   Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>

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

Changes:
  - all: https://git.openjdk.org/leyden/pull/84/files
  - new: https://git.openjdk.org/leyden/pull/84/files/9b77b82d..9018729b

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=02
 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=84&range=01-02

  Stats: 202 lines in 8 files changed: 54 ins; 76 del; 72 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