RFR: 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
Severin Gehwolf
sgehwolf at redhat.com
Thu Sep 6 14:32:17 UTC 2018
Hi,
On Thu, 2018-09-06 at 07:29 +1000, David Holmes wrote:
> Hi Severin,
>
> On 6/09/2018 4:36 AM, Severin Gehwolf wrote:
> > Hi,
> >
> > On Linux x86 (32 and 64 bit) sharedRuntime{Trans,Trig}.ccp files get
> > compiled with -O0. It appears to be for the same (historical?) reason
> > as for fdlibm files in core-libs. JDK-8210416 is an attempt to make
> > this consistent on all Linux arches (as s390x/ppc64/aarch64 already use
> > that) for fdlibm. This patch does the same for the hotspot copies.
> > Compile it with OPT and -ffp-contract=off instead of no optimization at
> > all. Thoughts?
>
> The code in sharedRuntimeTrig is expected/required to be built the same
> way as the fdlibm library as it contains the same code. So if it is okay
> to change the way fdlibm is built then it follows this is okay too. I
> traced this change to the optimization flags back to 2001 but no details
> on the exact issue seen with fdlibm.
Right. I should note that ppc64, s390x and aarch64 ports don't have
this optimization turned off as those overrides are in a x86 specific
block. It appears it hasn't caused issues for these ports so far.
Your comment on JDK-8210416 says that it was introduced for an issue on
GCC 1.1.1 i386 back in 1998. Wow ;-)
> Is -ffp-contract=off a gcc-specific flag? If so this should be a gcc
> conditional not a linux-x86 one.
clang has it (as noted elsewhere), but I don't know which version.
What's the "blessed" clang version for JDK 12?
Thanks,
Severin
> > webrev: http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8210425/webrev.01/
> > Bug: https://bugs.openjdk.java.net/browse/JDK-8210425
> >
> > Testing: - make run-test-tier1 (no new failures).
> > - Currently running through submit.
> > - Verified objects get compiled with -O3 -ffp-contract=off in
> > build logs.
> >
> > Thanks,
> > Severin
> >
More information about the build-dev
mailing list