RFR [XS] 8041957: -XX:UseAVX=0 cause assert(UseAVX) failed

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Apr 29 21:46:25 UTC 2014


On 4/29/14 12:35 PM, Christian Thalinger wrote:
>
> On Apr 29, 2014, at 8:18 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com
> <mailto:vladimir.kozlov at oracle.com>> wrote:
>
>> On 4/28/14 5:45 PM, Christian Thalinger wrote:
>>> FlagSetting didn’t work?
>>
>> It only works for bool flags:
>>
>> FlagSetting(bool& fl, bool newValue)
>
> Ah, right.  Use have to use UIntFlagSetting instead.

Does not work too:

Error: Could not find a match for UIntFlagSetting::UIntFlagSetting(int, int)

I would have to use (int)/(uint) casts and deal with C++ warnings or add 
new IntFlagSetting. I don't want to do it for this small fix which I 
need to backport into 8u20.

I pushed my changes without FlagSetting.

Thanks,
Vladimir

>
>>
>> Error: Could not find a match for FlagSetting::FlagSetting(int, int)
>> needed in VM_Version_StubGenerator::generate_get_cpu_info().
>>
>> Vladimir
>>
>>>
>>> On Apr 28, 2014, at 12:58 PM, Vladimir Kozlov
>>> <vladimir.kozlov at oracle.com <mailto:vladimir.kozlov at oracle.com>> wrote:
>>>
>>>> I updated changes:
>>>>
>>>> http://cr.openjdk.java.net/~kvn/8041957/webrev
>>>>
>>>> Thanks,
>>>> Vladimir
>>>>
>>>> On 4/25/14 7:12 PM, Vladimir Kozlov wrote:
>>>>> On 4/25/14 6:37 PM, Christian Thalinger wrote:
>>>>>> This is tricky.  Changing the assert means that we cannot catch the
>>>>>> case where we were asked to not use AVX but we do.  Maybe we should
>>>>>> enable AVX instruction temporarily by using:
>>>>>>
>>>>>> FlagSetting avx(UseAVX, 99);
>>>>>>
>>>>>> in generate_get_cpu_info() to be able to generate the instructions.
>>>>>
>>>>> I will try it next week.
>>>>>
>>>>> Thanks,
>>>>> Vladimir
>>>>>
>>>>>>
>>>>>> On Apr 25, 2014, at 9:13 AM, Vladimir Kozlov
>>>>>> <vladimir.kozlov at oracle.com> wrote:
>>>>>>
>>>>>>> http://cr.openjdk.java.net/~kvn/8041957/webrev
>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8041957
>>>>>>>
>>>>>>> Use VM_Version::supports_avx() instead of UseAVX in vmovdqu
>>>>>>> instruction asserts.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Vladimir
>>>>>>
>>>
>


More information about the hotspot-compiler-dev mailing list