28 lines
1.1 KiB
Diff
28 lines
1.1 KiB
Diff
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
|
|
|