openjdk-11/fix-IfNode-s-bugs.patch
2020-09-11 20:41:28 +08:00

30 lines
895 B
Diff

From 466cb0f1a98c7b93e47e6056c460b6ec81864e3b Mon Sep 17 00:00:00 2001
Date: Tue, 12 May 2020 10:08:51 +0000
Subject: [PATCH] fix IfNode's bugs
Summary: <C2>: fix wrong use of transform function
LLT:
Bug url: NA
---
src/hotspot/share/opto/ifnode.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/hotspot/share/opto/ifnode.cpp b/src/hotspot/share/opto/ifnode.cpp
index 6f87d7c..a856200 100644
--- a/src/hotspot/share/opto/ifnode.cpp
+++ b/src/hotspot/share/opto/ifnode.cpp
@@ -1398,7 +1398,10 @@ Node* IfNode::Ideal(PhaseGVN *phase, bool can_reshape) {
if (in(0) == NULL) return NULL; // Dead loop?
PhaseIterGVN *igvn = phase->is_IterGVN();
+ bool delay_state = igvn->delay_transform();
+ igvn->set_delay_transform(true);
Node* result = fold_compares(igvn);
+ igvn->set_delay_transform(delay_state);
if (result != NULL) {
return result;
}
--
1.8.3.1