< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/DerivedScaledInductionVariable.java

Print this page
rev 52509 : [mq]: graal2

@@ -61,17 +61,21 @@
         return value;
     }
 
     @Override
     public Direction direction() {
+        Direction baseDirection = base.direction();
+        if (baseDirection == null) {
+            return null;
+        }
         Stamp stamp = scale.stamp(NodeView.DEFAULT);
         if (stamp instanceof IntegerStamp) {
             IntegerStamp integerStamp = (IntegerStamp) stamp;
             if (integerStamp.isStrictlyPositive()) {
-                return base.direction();
+                return baseDirection;
             } else if (integerStamp.isStrictlyNegative()) {
-                return base.direction().opposite();
+                return baseDirection.opposite();
             }
         }
         return null;
     }
 
< prev index next >