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
Mon May 13 23:23:01 UTC 2024


On Mon, 13 May 2024 22:08:44 GMT, Cesar Soares Lucas <cslucas at openjdk.org> wrote:

>>> @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`
>>  
>> Actually `-XX:+IgnoreUnrecognizedVMOptions` is not needed because you require `vm.bits == 64` in the test.
>
> @vnkozlov - I updated the patch by adding new tests with CompressedOops/CompressedClassPointers enabled and disabled.

@JohnTortugo This looks reasonable. Can you explain more why having klass field load is bad for your code?

Is it because you need klass as constant for deoptimization?

Is it possible to handle such case (loading klass) as separate RFE later?

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

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


More information about the hotspot-compiler-dev mailing list