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