8267212: test/jdk/java/util/Collections/FindSubList.java intermittent crash with "no reachable node should have no use"

Reviewed-by: roland, thartmann
This commit is contained in:
Hui Shi 2021-05-19 01:25:58 +00:00 committed by Jie Fu
parent bdbe23b9cb
commit 324defe2b6
2 changed files with 3 additions and 3 deletions

View File

@ -47,7 +47,7 @@ Node* StrIntrinsicNode::Ideal(PhaseGVN* phase, bool can_reshape) {
uint alias_idx = phase->C->get_alias_index(adr_type());
mem = mem->is_MergeMem() ? mem->as_MergeMem()->memory_at(alias_idx) : mem;
if (mem != in(MemNode::Memory)) {
set_req(MemNode::Memory, mem);
set_req_X(MemNode::Memory, mem, phase);
return this;
}
}

View File

@ -1754,7 +1754,7 @@ Node *LoadNode::Ideal(PhaseGVN *phase, bool can_reshape) {
// try to optimize our memory input
Node* opt_mem = MemNode::optimize_memory_chain(mem, addr_t, this, phase);
if (opt_mem != mem) {
set_req(MemNode::Memory, opt_mem);
set_req_X(MemNode::Memory, opt_mem, phase);
if (phase->type( opt_mem ) == Type::TOP) return NULL;
return this;
}
@ -1829,7 +1829,7 @@ Node *LoadNode::Ideal(PhaseGVN *phase, bool can_reshape) {
// just return a prior value, which is done by Identity calls.
if (can_see_stored_value(prev_mem, phase)) {
// Make ready for step (d):
set_req(MemNode::Memory, prev_mem);
set_req_X(MemNode::Memory, prev_mem, phase);
return this;
}
}