RFR(S): 8213538: VM crashes when MaxVectorSize is set to 0, 1 or 2

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Nov 13 16:55:52 UTC 2018


You don't need max_max because the value reflect real max vector size supported by hardware. And we use this size to 
initialize a flag - only this initialization is related to flag. There for I asked "max_vector_size and min_vector_size" 
names.

Thanks,
Vladimir

On 11/13/18 1:31 AM, Nils Eliasson wrote:
> Hi,
> 
> The flag name is MaxVectorSize - so then it becomes max_max_vector_size and min_max_vector_size which is a bit hard to 
> read. In this new rev I opted for max_MaxVectorSize and min_MaxVectorSize to emphasize the relationship with the flag.
> 
> I am all open to other suggestions.
> 
> http://cr.openjdk.java.net/~neliasso/8213538/webrev.02
> 
> Regards,
> Nils
> 
> 
> On 2018-11-12 19:18, Vladimir Kozlov wrote:
>> Hi Nils,
>>
>> Fix and refactoring looks good.
>>
>> The only complain I have is names of locals. Can you use full names: max_vector_size and min_vector_size?
>>
>> Please, add testing results link to bug report.
>>
>> Thanks,
>> Vladimir
>>
>> On 11/12/18 3:14 AM, Nils Eliasson wrote:
>>> Hi,
>>>
>>> This patch add the requirement that MaxVectorSize must be at least 4 on x64.
>>>
>>> The background is that we crash in startup when testing when setting it to 0, 1 or 2. When MaxVectorSize is less than 
>>> 4, the XMM reg types won't be initialized, and then we crash in intrinsics that unconditionally use XMM regs. Since 
>>> SSE2 is the required minimum on x64, the assumption that you can use XMM regs is always valid. This adds the 
>>> requirement that MaxVectorSize is at least 4.
>>>
>>> I had to do a little refactoring to make the code more readable, but the essence is the same.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8213538
>>>
>>> Webrev: http://cr.openjdk.java.net/~neliasso/8213538/webrev/
>>>
>>> Testing is running.
>>>
>>> Please review,
>>>
>>> // Nils
>>>
> 


More information about the hotspot-compiler-dev mailing list