# Issue AOT‑cached c2i adapters can mis-handle inline‑buffer oops when the JVM runs with a different compressed‑oops mode than the one used when the AOT cache was created, leading to wrong object decoding and test failures/crashes.
# Cause Adapters only need this special handling in Valhalla because inline types are flattened and require heap buffers during c2i transitions, which are decoded inside the adapter. If the runtime compressed‑oops settings (UseCompressedOops, shift, base) differ from the AOT‑creation settings, the adapter decodes those oops incorrectly (non‑Valhalla adapters don’t decode inline‑buffer oops, so they don’t hit this path). # Fix During AOT cache verification, if we detect any mismatch in compressed‑oops flag, shift, or base, we disable AOT adapter caching, forcing adapters to be regenerated at runtime with the correct configuration (this mirrors what the VM already does for AOT stub caching). Logging has been slightly modified for consistency. # Testing Tier 1-3+ JBS issue failing tests using `--enable-preview` `test/hotspot/jtreg/runtime/cds/appcds/aotCode/AOTCodeCompressedOopsTest.java` had to be adapted to reflect the modified log ------------- Commit messages: - JDK-8377351: partially revert log change - JDK-8377351: [lworld] runtime/clinit/ClassInitBarrier.java crashes with SIGSEGV/EAV with AOT class linking and --enable-preview Changes: https://git.openjdk.org/valhalla/pull/2217/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2217&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8377351 Stats: 11 lines in 2 files changed: 4 ins; 0 del; 7 mod Patch: https://git.openjdk.org/valhalla/pull/2217.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2217/head:pull/2217 PR: https://git.openjdk.org/valhalla/pull/2217
