RFR: 8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint [v2]

Christian Hagedorn chagedorn at openjdk.java.net
Fri Dec 3 08:59:51 UTC 2021


On Thu, 2 Dec 2021 19:54:33 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> Christian Hagedorn has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   use direct bailout
>
> src/hotspot/share/opto/loopPredicate.cpp line 776:
> 
>> 774:   const uint old_unique_idx = C->unique();
>> 775:   if (is_range_check_if(iff, phase, T_INT, iv, range, offset, scale)) {
>> 776:     if (!invar.is_invariant(range)) {
> 
> First, the fix is reasonable to me.
> 
> My only complain is original code flow. If we do `return false;` for each check we should the same for `is_range_check_if()` check instead of returning `false` at the very end you lost logic why it is `false`.

Thanks for your review Vladimir! Good point, I changed that into a direct bailout.

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

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


More information about the hotspot-compiler-dev mailing list