RFR: 8258243: C2: assert failed ("Bad derived pointer") with -XX:+VerifyRegisterAllocator

Christian Hagedorn chagedorn at openjdk.java.net
Mon Jan 11 08:34:06 UTC 2021


On Fri, 8 Jan 2021 20:40:19 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> The base pointer verification code in the register allocator checks that a base for a derived constant node is always `NULL`. However, this is not the case if the offset is zero (returns on L1744):
>> https://github.com/openjdk/jdk/blob/b549cbd39250c5b22c6e863172d18cf247022894/src/hotspot/share/opto/chaitin.cpp#L1740-L1754
>> 
>> This case is added to the verification code which fixes the reported failing testcases.
>> 
>> I additionally added a hello world test to sanity check the `-XX:+VerifyRegisterAllocator` flag.
>> 
>> Thanks,
>> Christian
>
> Good. Make sense.

@vnkozlov @TobiHartmann Thank you for your reviews!

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

PR: https://git.openjdk.java.net/jdk/pull/2005


More information about the hotspot-compiler-dev mailing list