8348261: assert(n->is_Mem()) failed: memory node required

Reviewed-by: chagedorn, epeter
This commit is contained in:
Vladimir Kozlov 2025-03-07 19:19:03 +00:00
parent 5cd4fe6376
commit f6a8db289e

View File

@ -4712,13 +4712,21 @@ void ConnectionGraph::split_unique_types(GrowableArray<Node *> &alloc_worklist,
if (n == nullptr) {
continue;
}
} else if (n->Opcode() == Op_StrInflatedCopy) {
// Check direct uses of StrInflatedCopy.
// It is memory type Node - no special SCMemProj node.
} else if (n->Opcode() == Op_StrCompressedCopy ||
n->Opcode() == Op_EncodeISOArray) {
// get the memory projection
n = n->find_out_with(Op_SCMemProj);
assert(n != nullptr && n->Opcode() == Op_SCMemProj, "memory projection required");
} else {
#ifdef ASSERT
if (!n->is_Mem()) {
n->dump();
}
assert(n->is_Mem(), "memory node required.");
#endif
Node *addr = n->in(MemNode::Address);
const Type *addr_t = igvn->type(addr);
if (addr_t == Type::TOP) {