-
Enhancement
-
Resolution: Fixed
-
P4
-
12
-
b22
diff --git a/src/hotspot/share/opto/loopopts.cpp b/src/hotspot/share/opto/loopopts.cpp
--- a/src/hotspot/share/opto/loopopts.cpp
+++ b/src/hotspot/share/opto/loopopts.cpp
@@ -887,6 +887,11 @@
// Do the real work in a non-recursive function. Data nodes want to be
// cloned in the pre-order so they can feed each other nicely.
Node *PhaseIdealLoop::split_if_with_blocks_pre( Node *n ) {
+ BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
+ Node* bs_res = bs->split_if_pre(this, n);
+ if (bs_res != NULL) {
+ return bs_res;
+ }
// Cloning these guys is unlikely to win
int n_op = n->Opcode();
if( n_op == Op_MergeMem ) return n;
--- a/src/hotspot/share/opto/loopopts.cpp
+++ b/src/hotspot/share/opto/loopopts.cpp
@@ -887,6 +887,11 @@
// Do the real work in a non-recursive function. Data nodes want to be
// cloned in the pre-order so they can feed each other nicely.
Node *PhaseIdealLoop::split_if_with_blocks_pre( Node *n ) {
+ BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
+ Node* bs_res = bs->split_if_pre(this, n);
+ if (bs_res != NULL) {
+ return bs_res;
+ }
// Cloning these guys is unlikely to win
int n_op = n->Opcode();
if( n_op == Op_MergeMem ) return n;