RFR: 8302191: Performance degradation for float/double modulo on Linux [v2]
Jan Kratochvil
duke at openjdk.org
Wed Mar 1 08:52:06 UTC 2023
On Mon, 27 Feb 2023 01:16:31 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> Jan Kratochvil has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains one additional commit since the last revision:
>>
>> 8302191: Performance degradation for float/double modulo on Linux
>
> src/hotspot/cpu/x86/sharedRuntime_x86.cpp line 87:
>
>> 85: #endif //COMPILER1
>> 86:
>> 87: JRT_LEAF(jfloat, SharedRuntime::frem(jfloat x, jfloat y))
>
> Nit: extra space before x and y.
I agree but FYI it was just copy-pasted from existing source:
> `-JRT_LEAF(jfloat, SharedRuntime::frem(jfloat x, jfloat y))`
> src/hotspot/share/runtime/sharedRuntime.cpp line 236:
>
>> 234: const julong double_infinity = CONST64(0x7FF0000000000000);
>> 235:
>> 236: #ifndef X86
>
> I wonder if the WIN64 workaround is actually needed/valid for non-X86 windows?
It is true the comment says:
> 64-bit Windows on amd64 returns the wrong values for infinity operands.
I have left the workaround really just for AMD64 Windows now. I am going to get it regression tested on aarch64 if that is enough.
-------------
PR: https://git.openjdk.org/jdk/pull/12508
More information about the hotspot-dev
mailing list