openjdk-1.8.0/Backport-8068864-C2-failed-modified-node-is-not-on-IGVN._work.patch

28 lines
1.1 KiB
Diff
Raw Normal View History

2024-07-24 15:52:54 +08:00
From 7af1eca9cf66942bf9e54a582f3046ae9b96a8eb Mon Sep 17 00:00:00 2001
Date: Thu, 23 May 2024 11:28:10 +0800
Subject: [PATCH] [Backport]8068864: C2 failed: modified node is not on
IGVN._worklist
---
hotspot/src/share/vm/opto/loopTransform.cpp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/hotspot/src/share/vm/opto/loopTransform.cpp b/hotspot/src/share/vm/opto/loopTransform.cpp
index 414edc26b..0aca095ce 100644
--- a/hotspot/src/share/vm/opto/loopTransform.cpp
+++ b/hotspot/src/share/vm/opto/loopTransform.cpp
@@ -2006,10 +2006,9 @@ void PhaseIdealLoop::do_range_check( IdealLoopTree *loop, Node_List &old_new ) {
}
Node *main_cmp = main_bol->in(1);
if( main_cmp->outcnt() > 1 ) { // CmpNode shared?
- _igvn.hash_delete(main_bol);
main_cmp = main_cmp->clone();// Clone a private CmpNode
register_new_node( main_cmp, main_cle->in(0) );
- main_bol->set_req(1,main_cmp);
+ _igvn.replace_input_of(main_bol, 1, main_cmp);
}
// Hack the now-private loop bounds
_igvn.replace_input_of(main_cmp, 2, main_limit);
--
2.19.1