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

Eric Liu github.com+10482586+therealeliu at openjdk.java.net
Thu Mar 11 03:55:06 UTC 2021


On Wed, 10 Mar 2021 04:18:16 GMT, Jie Fu <jiefu at openjdk.org> wrote:

> 
> To show you how this can happen, please run vmTestbase/nsk/jdi/StepEvent/_itself_/stepEvent004/stepEvent004.java several times with the following change:
> 
> ```
> diff --git a/src/hotspot/share/opto/memnode.cpp b/src/hotspot/share/opto/memnode.cpp
> index 440e29f..28debe1 100644
> --- a/src/hotspot/share/opto/memnode.cpp
> +++ b/src/hotspot/share/opto/memnode.cpp
> @@ -2617,6 +2617,9 @@ Node *StoreNode::Ideal(PhaseGVN *phase, bool can_reshape) {
>    Node* mem     = in(MemNode::Memory);
>    Node* address = in(MemNode::Address);
>    Node* value   = in(MemNode::ValueIn);
> +
> +  if (value && value->is_top()) return NULL;
> +
Have you tried `phase->type(value)` ?  I suppose `value`'s type maybe TOP but not itself here.

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

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


More information about the hotspot-compiler-dev mailing list