RFR (S) JDK-8043301: Duplicate definitions in vm/runtime/sharedRuntimeTrans.cpp versus math.h in VS2013
Lois Foltan
lois.foltan at oracle.com
Wed May 21 17:22:26 UTC 2014
On 5/21/2014 12:49 PM, Tim Bell wrote:
> 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.
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
and scalbn.
>
> I have the sharedRuntimeTrans.cpp patch in my compiler upgrade source
> tree... testing now.
Great, thanks again!
Lois
>
> Tim
>
More information about the hotspot-runtime-dev
mailing list