RFR: 8272315: Improve assert_different_registers
Andrew Dinn
adinn at openjdk.java.net
Wed Aug 11 12:49:26 UTC 2021
On Wed, 11 Aug 2021 12:24:27 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:
>> src/hotspot/share/asm/register.hpp line 70:
>>
>>> 68: // Sort regs, so any equal entries are adjacent.
>>> 69: struct Compare { ptrdiff_t operator()(R x, R y) const { return x - y; } };
>>> 70: QuickSort::sort(regs, ARRAY_SIZE(regs), Compare(), false);
>>
>> Sorting is kind of overkill. Maybe I should have just use the obvious nested loop? What do reviewers think?
>
> Answering my own question, sorting imposes additional requirements on the type that might require adjustment for JDK-8270140. So I'm inclined to switch to the nested loop that only requires equality testing as before.
Well, a nested loop is order n^2 but n is always going to be pretty small (the old code allowed for 12 but cases with n > 6 are rare). So I see no great perf problem with using a nested loop.
-------------
PR: https://git.openjdk.java.net/jdk/pull/5083
More information about the hotspot-compiler-dev
mailing list