RFR: 8264954: unified handling for VectorMask object re-materialization during de-optimization [v2]

Jatin Bhateja jbhateja at openjdk.java.net
Mon Apr 12 08:21:42 UTC 2021


On Fri, 9 Apr 2021 19:12:27 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   8264954: Review comments resolution.
>
> src/hotspot/share/opto/vector.cpp line 270:
> 
>> 268:     bool is_mask = is_vector_mask(iklass);
>> 269:     if (is_mask) {
>> 270:       if (vec_value->Opcode() != Op_VectorStoreMask) {
> 
> It's better to do the check against the type of `vec_value`: `VectorStoreMask` produces a vector of booleans  and you can guard `gvn.transform(VectorStoreMaskNode::make(...))` call with `bt != T_BOOLEAN` check instead.

In addition to bt != T_BOOLEAN check, we also need to check if type is a vectormask (explicit type added for mask generating nodes on targets supporting predicate registers).

A similar check needs to be added at following location
https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/vector.cpp#L329

Keeping this as it is i.e. an Opcode based check.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3408


More information about the hotspot-compiler-dev mailing list