RFR: JDK-8330795 : C2: assert((uint)type <= T_CONFLICT && _zero_type[type] != nullptr) failed: bad type with -XX:-UseCompressedClassPointers

Cesar Soares Lucas cslucas at openjdk.org
Wed May 8 23:49:19 UTC 2024


The `assert((uint)type <= T_CONFLICT && _zero_type[type] != nullptr) failed: bad type` failure was caused by the fact that we didn't have a "zero value" for the type T_METADATA. The RAM patch uses that data when it creates a Phi node merging Klass loads and UseCompressedClassPointers is disabled.

Tested with JTREG tier1-4 on Linux x86_64 & ARM64.

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

Commit messages:
 - Add null and zero types.

Changes: https://git.openjdk.org/jdk/pull/19148/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19148&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8330795
  Stats: 65 lines in 2 files changed: 65 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/19148.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19148/head:pull/19148

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


More information about the hotspot-compiler-dev mailing list