RFR: 8263164: assert(_base >= VectorA && _base <= VectorZ) failed: Not a Vector while calling StoreVectorNode::memory_size() [v5]

Vladimir Ivanov vlivanov at openjdk.java.net
Tue Mar 16 13:22:08 UTC 2021


On Mon, 15 Mar 2021 23:16:19 GMT, Jie Fu <jiefu at openjdk.org> wrote:

>> Hi all,
>> 
>> Several Vector API tests failed intermittently due to this assert.
>> 
>> #
>> #  Internal Error (/home/jvm/jdk/src/hotspot/share/opto/type.hpp:1686), pid=10561, tid=10577
>> #  assert(_base >= VectorA && _base <= VectorZ) failed: Not a Vector
>> #
>> # JRE version: OpenJDK Runtime Environment (17.0) (fastdebug build 17-internal+0-adhoc..jdk)
>> # Java VM: OpenJDK 64-Bit Server VM (fastdebug 17-internal+0-adhoc..jdk, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
>> # Problematic frame:
>> # V  [libjvm.so+0x918f44]  StoreVectorNode::memory_size() const+0xb4
>> 
>> The reason is that StoreVectorNode::memory_size() will fail if StoreVectorNode->in(MemNode::ValueIn)->bottom_type() == Type::TOP.
>> However, this case seems possible during C2's optimization.
>> And the same bug exists for LoadVectorNode::memory_size() as well.
>> 
>> The fix returns 0 if StoreVectorNode->in(MemNode::ValueIn)->bottom_type() is not a vector type.
>> 
>> Testing:
>>   - jdk/incubator/vector
>>   - tier1~tier3
>> 
>> Any comments?
>> 
>> Thanks.
>> Best regards,
>> Jie
>
> Jie Fu has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix ReductionNode

Thanks, Jie. Looks good. 

I'll submit it for testing.

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

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


More information about the hotspot-compiler-dev mailing list