RFR (S) JDK-8043301: Duplicate definitions in vm/runtime/sharedRuntimeTrans.cpp versus math.h in VS2013
lois.foltan at oracle.com
Wed May 21 17:22:26 UTC 2014
On 5/21/2014 12:49 PM, Tim Bell wrote:
>> Please review the following fix:
>> Bug: Duplicate definitions in vm/runtime/sharedRuntimeTrans.cpp
>> versus math.h in VS2013
>> 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.
>> 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.
Thanks Tim for the review. I think due to performance reasons
sharedRuntimeTrans.cpp and sharedRuntimeTrig.cpp have their own
definitions. These are the only two files in the JVM that use copysign
> I have the sharedRuntimeTrans.cpp patch in my compiler upgrade source
> tree... testing now.
Great, thanks again!
More information about the hotspot-runtime-dev