RFR (M): 8145688: Update for x86 pow in the math lib

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Dec 21 20:43:23 UTC 2015


Hi Vivek.

Also always use {}:

+       if (VM_Version::supports_sse3())
           StubRoutines::_dlog = generate_libmLog();
+       StubRoutines::_dpow = generate_libmPow();

I see fast_log() is using movddup() sse3 instruction. Can you replace it with sse2 equivalent and have conditional code 
generation depending on sse3 presence instead of limiting it in stubGenerator?

And please add comments to all #endif in macroAssembler_x86_libm.cpp. I forgot to ask that in previous changes.
When #ifdef block is big we put comment to see what scope is that:

#endif // _LP64

#endif // !_LP64

Thanks,
Vladimir

On 12/18/15 7:05 PM, Deshpande, Vivek R wrote:
> Hi all
>
> I would like to contribute a patch which optimizes Math.pow() for 64 and 32 bit X86 architecture using Intel LIBM
>   implementation.
>
> This passes all the jtreg test in hotspot and PowTests.java in jdk/tests/java/lang/Math.
>
> Could you please review and sponsor this patch.
>
> Bug-id:
>
> https://bugs.openjdk.java.net/browse/JDK-8145688
> webrev:
>
> http://cr.openjdk.java.net/~mcberg/8145688/webrev.02/
>
> Thanks and regards,
>
> Vivek
>


More information about the hotspot-compiler-dev mailing list