RFR: 8309893: Integrate ReplicateB/S/I/L/F/D nodes to Replicate node [v2]

Emanuel Peter epeter at openjdk.org
Tue Oct 24 08:06:30 UTC 2023


On Tue, 24 Oct 2023 07:53:55 GMT, Eric Liu <eliu at openjdk.org> wrote:

>> src/hotspot/share/opto/vectornode.hpp line 1129:
>> 
>>> 1127:   ReplicateNode(Node* in1, const TypeVect* vt) : VectorNode(in1, vt) {
>>> 1128:     assert(vt->element_basic_type() != T_BOOLEAN, "not support");
>>> 1129:     assert(vt->element_basic_type() != T_CHAR, "not support");
>> 
>> If you want to test the types here, then you should probably test also for `is_java_primitive(BasicType t)`. You probably wanted to exclude object pointers etc as well.
>
> TypeVect is created from TypeVector::make(), in there `is_java_primitive(BasicType t)` has been checked.  Currently we didn't find ReplicateNode which element type is boolean or char in real cases.

It's not critical. I guess if one were to create such a bad ReplicateNode, then we would simply fail with a `bad ad` assert, since there is no matching rule in the ad file.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14830#discussion_r1369769721


More information about the hotspot-compiler-dev mailing list