openjdk-1.8.0/8223485-C2-PhaseIdealLoop-create_new_if_for_predicat.patch

22 lines
811 B
Diff
Raw Normal View History

2024-04-30 14:11:01 +08:00
Subject: 8223485: C2:PhaseIdealLoop::create_new_if_for_predicate() computes wrong IDOM
---
hotspot/src/share/vm/opto/loopPredicate.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hotspot/src/share/vm/opto/loopPredicate.cpp b/hotspot/src/share/vm/opto/loopPredicate.cpp
index a21702e98..b2a3e86eb 100644
--- a/hotspot/src/share/vm/opto/loopPredicate.cpp
+++ b/hotspot/src/share/vm/opto/loopPredicate.cpp
@@ -143,7 +143,7 @@ ProjNode* PhaseIdealLoop::create_new_if_for_predicate(ProjNode* cont_proj, Node*
// When called from beautify_loops() idom is not constructed yet.
if (_idom != NULL) {
Node* ridom = idom(rgn);
- Node* nrdom = dom_lca(ridom, new_iff);
+ Node* nrdom = dom_lca_internal(ridom, new_iff);
set_idom(rgn, nrdom, dom_depth(rgn));
}
--
2.19.1