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