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