[9] RFR(S): 8040121: Load variable through a pointer of an incompatible type in src/hotspot/src/share/vm: opto/output.cpp [...]
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Jul 25 16:21:35 UTC 2014
This looks good.
Thanks,
Vladimir
On 7/25/14 1:39 AM, Tobias Hartmann wrote:
> Hi Vladimir,
>
> thanks for the review.
>
> I'm now using jlong_accessor both for the 'DoubleCon' and the 'Long' cases.
>
> New webrev: http://cr.openjdk.java.net/~thartmann/8040121/webrev.01/
>
> Thanks,
> Tobias
>
> On 24.07.2014 22:24, Vladimir Kozlov wrote:
>> Christian suggested to use jlong_accessor in output.cpp, so you don't need to merge DoubleIntConv.
>>
>> thanks,
>> Vladimir
>>
>> On 7/24/14 9:03 AM, Vladimir Kozlov wrote:
>>> DoubleIntConv is duplicate of one from 8049043.
>>>
>>> Can you combine them?
>>>
>>> typedef union {
>>> double d;
>>> int i[2];
>>> struct {
>>> #ifdef VM_LITTLE_ENDIAN
>>> int lo;
>>> int hi;
>>> #else
>>> int hi;
>>> int lo;
>>> #endif
>>> } split;
>>> } DoubleIntConv;
>>>
>>> Otherwise good.
>>>
>>> Thanks,
>>> Vladimir
>>>
>>> On 7/24/14 5:23 AM, Tobias Hartmann wrote:
>>>> Hi,
>>>>
>>>> please review the following patch that fixes the Parfait warnings
>>>> listed in JDK-8040121.
>>>>
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8040121
>>>> Webrev: http://cr.openjdk.java.net/~thartmann/8040121/webrev.00/
>>>>
>>>> The " Load variable through a pointer of an incompatible type"
>>>> warnings in following files were fixed:
>>>>
>>>> - hotspot.src.share.vm.opto.output.cpp::Compile::FillLocArray
>>>> -> Pointer cast is replaced by union
>>>>
>>>> - hotspot.src.share.vm.runtime.sharedRuntimeTrans.cpp::copysign
>>>> - hotspot.src.share.vm.runtime.sharedRuntimeTrans.cpp::scalbn
>>>> -> JDK-8043301 moved these methods to sharedRuntimeMath.cpp, the
>>>> warnings will be fixed with JDK-8049043
>>>>
>>>> - hotspot.src.share.vm.utilities.globalDefinitions_visCPP.hpp::jdouble
>>>> - hotspot.src.share.vm.utilities.globalDefinitions_visCPP.hpp::jfloat
>>>> - hotspot.src.share.vm.utilities.globalDefinitions_visCPP.hpp::jint
>>>> - hotspot.src.share.vm.utilities.globalDefinitions_visCPP.hpp::jlong
>>>> -> Same methods are in globalDefinitions_gcc.hpp,
>>>> globalDefinitions_sparcWorks.hpp, globalDefinitions_xlc.hpp. Because
>>>> they are not compiler specific, I moved the methods into
>>>> globalDefinitions.hpp. The casts are now implemented using a union.
>>>>
>>>> Testing: Parfait, JPRT
>>>>
>>>> Thanks,
>>>> Tobias
>
More information about the hotspot-compiler-dev
mailing list