< prev index next >
src/hotspot/share/opto/macro.cpp
Print this page
@@ -2663,11 +2663,12 @@
default:
assert(n->Opcode() == Op_LoopLimit ||
n->Opcode() == Op_Opaque1 ||
n->Opcode() == Op_Opaque2 ||
n->Opcode() == Op_Opaque3 ||
- n->Opcode() == Op_Opaque4, "unknown node type in macro list");
+ n->Opcode() == Op_Opaque4 ||
+ n->Opcode() == Op_Opaque5, "unknown node type in macro list");
}
assert(success == (C->macro_count() < old_macro_count), "elimination reduces macro count");
progress = progress || success;
}
}
@@ -2731,10 +2732,15 @@
success = true;
#endif
} else if (n->Opcode() == Op_Opaque4) {
_igvn.replace_node(n, n->in(2));
success = true;
+ } else if (n->Opcode() == Op_Opaque5) {
+ Node* res = ((Opaque5Node*)n)->adjust_strip_mined_loop(&_igvn);
+ guarantee(res != NULL, "strip mined adjustment failed");
+ _igvn.replace_node(n, res);
+ success = true;
}
assert(success == (C->macro_count() < old_macro_count), "elimination reduces macro count");
progress = progress || success;
}
}
< prev index next >