RFR: 8252237: C2: Call to compute_separating_interferences has wrong argument order

Rahul Raghavan rraghavan at openjdk.java.net
Fri Dec 4 10:18:36 UTC 2020


On Thu, 3 Dec 2020 17:42:21 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> Looks good to me but I'm also wondering why that was never an issue and if the fix could now trigger previously hidden problems. We should at least give it a good amount of testing before integration.
>
>> Looks good to me but I'm also wondering why that was never an issue and if the fix could now trigger previously hidden problems. We should at least give it a good amount of testing before integration.
> 
> compute_separating_interferences() is used only in one place and resulting `reg_degree` is only used in place to compare with `max_juint`:
> https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/coalesce.cpp#L746
> Due to this bug the returning value is most likely `max_juint` and we bailout coalesce of copies. As result we would have more LRG live ranges to work with but Graph still can be processed.
> In short RA produce less optimal code.
> I agree with @TobiHartmann we should do a lot of tiers testing for this fix because coalescing code after L755 may be not exercised as much as we want due to this bug.

Thanks for the details @shipilev, @TobiHartmann, @vnkozlov.
I too could not link any other unresolved or 'won't-fix/incomplete' old c2-regalloc bug to this case.
Yes I will initiate more tier testing with the change before integeration.

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

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


More information about the hotspot-compiler-dev mailing list