RFR: 8198571: [JVMCI] must not install wide vector code unless runtime supports it

dean.long at oracle.com dean.long at oracle.com
Fri Mar 2 21:12:31 UTC 2018

Should we also bail out if

HotSpotReferenceMap::maxRegisterSize(reference_map)) > MaxVectorSize


is_wide_vector(HotSpotReferenceMap::maxRegisterSize(reference_map))) && 

instead of determining based only on the existence of the safepoint 
blob?  Otherwise it looks good.


On 3/2/18 8:56 AM, Doug Simon wrote:
> Thanks Vladimir.
> Can I get another review please?
> -Doug
>> On 23 Feb 2018, at 21:14, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>> Okay. Then it is good.
>> Thanks,
>> Vladimir
>> On 2/23/18 11:59 AM, Doug Simon wrote:
>>> Yes. We have a separate fix for Graal that does what you propose. This is just a last bit of defense to prevent a VM crash in case the bug creeps back into Graal (or any other JVMCI compiler).
>>> Sent from my iPhone
>>>> On 23 Feb 2018, at 8:54 pm, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>>> Hi Doug,
>>>> Are you planning changes to check MaxVectorSize value when vectors are generated by Graal?
>>>> Throwing exception during code installation is very late and expensive (you have to throw out all methods with vectors after spending CPUs to compile them).
>>>> Thanks,
>>>> Vladimir
>>>>> On 2/23/18 8:57 AM, Doug Simon wrote:
>>>>> As shown in https://github.com/oracle/graal/issues/303, a bug in a JVMCI compiler can result in vector code being installed even if the runtime doesn't support it. JVMCI should be defensive and raise an exception in this case.
>>>>> https://bugs.openjdk.java.net/browse/JDK-8198571
>>>>> http://cr.openjdk.java.net/~dnsimon/8198571/
>>>>> -Doug

More information about the hotspot-compiler-dev mailing list