Skip to content
Permalink
Browse files
8267212: test/jdk/java/util/Collections/FindSubList.java intermittent…
… crash with "no reachable node should have no use"

Reviewed-by: roland, thartmann
  • Loading branch information
Hui Shi authored and DamonFool committed May 19, 2021
1 parent bdbe23b commit 324defe2b6c83de76a37d1b4b360869a77bed036
Showing with 3 additions and 3 deletions.
  1. +1 −1 src/hotspot/share/opto/intrinsicnode.cpp
  2. +2 −2 src/hotspot/share/opto/memnode.cpp
@@ -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;
}
}
@@ -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;
}
}

0 comments on commit 324defe

Please sign in to comment.