RFR: 8357250: assert(shift >= 0 && shift < 4) failed: unexpected compressd klass shift! [v2]

Vladimir Kozlov kvn at openjdk.org
Tue May 20 15:27:32 UTC 2025


> Several fixes for AOT code generation:
>   - Use `CompressedKlassPointers::max_shift()` in asserts to take into account  Compact Object Headers (the asserts are present only in aarch64 code)
>   - Increase table stub size on aarch64 when AOT specialized code is used for klass decoding (hit assert there otherwise)
>   - Fix "copy-paste" typo in `RelocIterator()` which incorrectly overwrite the start address of instruction section (restored relocations in AOTed exception blob was wrong and AOT tests failed when deoptimization happened)
>   - Removed `vm.flagless` from AOT code tests to increase testing coverage (otherwise they were run only in tier1)
>   - Add additions `@requires` to tests for expected execution configuration
> 
> Tested hs-tier1-10, Xcomp, stress

Vladimir Kozlov has updated the pull request incrementally with two additional commits since the last revision:

 - Update src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
   
   Co-authored-by: Tobias Hartmann <tobias.hartmann at oracle.com>
 - Update src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
   
   Co-authored-by: Tobias Hartmann <tobias.hartmann at oracle.com>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25330/files
  - new: https://git.openjdk.org/jdk/pull/25330/files/c4dc91f0..d2afc0b9

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25330&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25330&range=00-01

  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/25330.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25330/head:pull/25330

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


More information about the hotspot-compiler-dev mailing list