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

Vladimir Kozlov kvn at openjdk.org
Thu May 9 01:40:51 UTC 2024


On Wed, 8 May 2024 23:44:26 GMT, Cesar Soares Lucas <cslucas at openjdk.org> wrote:

> 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.

@JohnTortugo, thank you for adding new test. But it would be nice also add additional run with `-XX:+IgnoreUnrecognizedVMOptions -XX:-UseCompressedClassPointers` to failed test `test/hotspot/jtreg/compiler/c2/irTests/scalarReplacement/AllocationMergesTests.java`

Also why you require to run test only with compressed oops on?:

* @requires vm.debug == true & vm.bits == 64 & vm.compiler2.enabled & vm.opt.final.UseCompressedOops & vm.opt.final.EliminateAllocations

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

PR Comment: https://git.openjdk.org/jdk/pull/19148#issuecomment-2101773136


More information about the hotspot-compiler-dev mailing list