RFR: JDK-8314056 Remove runtime platform check from frem/drem [v2]

Sandhya Viswanathan sviswanathan at openjdk.org
Wed Aug 23 22:15:47 UTC 2023


On Thu, 10 Aug 2023 00:49:59 GMT, Scott Gibbons <sgibbons at openjdk.org> wrote:

>> Remove platform check and move code to stubGenerator.  This fix increases performance by ~4.5%.
>> 
>> Tested tier1.
>
> Scott Gibbons has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Move mxcsr code after denom > num test.

src/hotspot/cpu/x86/stubGenerator_x86_64_fmod.cpp line 299:

> 297:     __ movl(rcx, rax);
> 298:     __ orl(rcx, 0x7f80);
> 299:     __ movl(Address(rsp, 0x04), rcx);

No need to do stmxcsr, we could define mxcsr_rz on similar lines as mxcsr_std as part of StubGenerator::create_control_words() and use those in fmod.

src/hotspot/cpu/x86/stubGenerator_x86_64_fmod.cpp line 325:

> 323:     __ andl(rax, 0x6000);
> 324:     __ cmpl(rax, 0x2000);
> 325:     __ jcc(Assembler::equal, L_10c1);

Some of the jcc and jmp could be generated as short branches where feasible.
Also the stub and the loop entries could be aligned to 16 bytes for better perf.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15210#discussion_r1303589868
PR Review Comment: https://git.openjdk.org/jdk/pull/15210#discussion_r1303590641


More information about the hotspot-dev mailing list