RFR(S): 8213538: VM crashes when MaxVectorSize is set to 0, 1 or 2
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"
On 11/13/18 1:31 AM, Nils Eliasson wrote:
> 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.
> 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.
>> On 11/12/18 3:14 AM, Nils Eliasson wrote:
>>> 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