RFR: 8264957: Type::dual_type array is not aligned with enum TYPES

Nils Eliasson neliasso at openjdk.java.net
Fri Apr 9 11:49:18 UTC 2021

On Fri, 9 Apr 2021 10:04:10 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

> This is a bug fix for [1] which adds a new vector mask type. The new added TYPE `"VectorMask"` is inserted into `enum TYPES`, while the array `"Type::dual_type"` is not updated. This makes the array elements are not aligned with TYPES.
> I met the following crash due to this issue when I was working on the masking feature support on panama-vector:
>  Internal Error (/home/xiagon01/code/panama-vector/src/hotspot/share/opto/type.hpp:1727), pid=104432, tid=104449
>  # assert(_base >= AnyPtr && _base <= KlassPtr) failed: Not a pointer
> Adding a value like other vector types for the `"VectorMask"` in the array `"dual_type"` can fix it.
> [1] https://bugs.openjdk.java.net/browse/JDK-8262355
> Tested with tier1 and jdk:tier3

Could you please add an assert so that we don't make this mistake again.


Changes requested by neliasso (Reviewer).

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

More information about the hotspot-compiler-dev mailing list