RFR(M): 8137168: Replace IfNode with a new RangeCheckNode for range checks
Roland Westrelin
roland.westrelin at oracle.com
Mon Nov 9 11:05:45 UTC 2015
I noticed the following change:
--- a/src/share/vm/opto/loopTransform.cpp
+++ b/src/share/vm/opto/loopTransform.cpp
@@ -2036,8 +2036,8 @@
// loop-invariant.
for( uint i = 0; i < loop->_body.size(); i++ ) {
Node *iff = loop->_body[i];
- if( iff->Opcode() == Op_If ) { // Test?
-
+ if (iff->Opcode() == Op_If ||
+ iff->Opcode() == Op_RangeCheck) { // Test?
// Test is an IfNode, has 2 projections. If BOTH are in the loop
// we need loop unswitching instead of iteration splitting.
Node *exit = loop->is_loop_exit(iff);
was missing from the webrev so I intend to push it with the rest of the change. Full webrev:
http://cr.openjdk.java.net/~roland/8137168/webrev.01/
Roland.
More information about the hotspot-compiler-dev
mailing list