8233023: assert(Opcode() == mem->Opcode() || phase->C->get_alias_index(adr_type()) == Compile::AliasIdxRaw) failed: no mismatched stores, except on raw memory

Tue, 29 Oct 2019 16:02:21 +0100

author
sgehwolf
date
Tue, 29 Oct 2019 16:02:21 +0100
changeset 9815
127e100fb80e
parent 9814
944634dd98a4
child 9816
acd345f4f9e5

8233023: assert(Opcode() == mem->Opcode() || phase->C->get_alias_index(adr_type()) == Compile::AliasIdxRaw) failed: no mismatched stores, except on raw memory
Summary: Include missing verification code from JDK-8140309 backport
Reviewed-by: phh, roland

src/share/vm/opto/memnode.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/opto/memnode.cpp	Mon Jan 06 21:22:25 2020 +0900
     1.2 +++ b/src/share/vm/opto/memnode.cpp	Tue Oct 29 16:02:21 2019 +0100
     1.3 @@ -2485,7 +2485,8 @@
     1.4      assert(mem != mem->in(MemNode::Memory), "dead loop in StoreNode::Ideal");
     1.5  
     1.6      assert(Opcode() == mem->Opcode() ||
     1.7 -           phase->C->get_alias_index(adr_type()) == Compile::AliasIdxRaw,
     1.8 +           phase->C->get_alias_index(adr_type()) == Compile::AliasIdxRaw ||
     1.9 +           (is_mismatched_access() || mem->as_Store()->is_mismatched_access()),
    1.10             "no mismatched stores, except on raw memory");
    1.11  
    1.12      if (mem->outcnt() == 1 &&           // check for intervening uses

mercurial