RFR (S) JDK-8043301: Duplicate definitions in vm/runtime/sharedRuntimeTrans.cpp versus math.h in VS2013

Tim Bell tim.bell at oracle.com
Wed May 21 16:49:11 UTC 2014


Lois:

> Please review the following fix:
>
> Webrev:
>     http://cr.openjdk.java.net/~lfoltan/bug_jdk8043301/
>
> Bug: Duplicate definitions in vm/runtime/sharedRuntimeTrans.cpp versus 
> math.h in VS2013
>     https://bugs.openjdk.java.net/browse/JDK-8043301
>
> Summary of fix:
> VS2013's include/math.h now contains definitions for both copysign() 
> and scalbn().  This yielded compilation conflicts with the JVM's 
> definition of these functions within runtime/sharedRuntimeTrans.cpp.  
> I changed copysign and scalbn definitions to be consistent with how 
> they are defined within sharedRuntimeTrig.cpp.  They are now defined 
> as copysignA and scalbnA static functions.  I also removed the 
> !defined(AIX) conditionalization around these defintions since no 
> conflict should now exist with AIX's math.h.
>
> Tests:
>     JPRT build & test, Hotspot jtreg, JDK lang & util, 
> vm.quick.testlist (in progress)

Thank you for the fix.  Looks good to me, although I am not a hotspot 
reviewer or committer.  I have very low confidence that their 
implementations of 'copysign' and 'scalbn' would exactly match what we 
use on all other platforms, especially since we can't inspect their code.

I have the sharedRuntimeTrans.cpp patch in my compiler upgrade source 
tree... testing now.

Tim



More information about the hotspot-runtime-dev mailing list