< prev index next >

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

Print this page




  93     public boolean isConstantInit() {
  94         return scale.isConstant() && base.isConstantInit();
  95     }
  96 
  97     @Override
  98     public boolean isConstantStride() {
  99         return scale.isConstant() && base.isConstantStride();
 100     }
 101 
 102     @Override
 103     public long constantInit() {
 104         return base.constantInit() * scale.asJavaConstant().asLong();
 105     }
 106 
 107     @Override
 108     public long constantStride() {
 109         return base.constantStride() * scale.asJavaConstant().asLong();
 110     }
 111 
 112     @Override
 113     public ValueNode extremumNode(boolean assumePositiveTripCount, Stamp stamp) {
 114         return mul(graph(), base.extremumNode(assumePositiveTripCount, stamp), IntegerConvertNode.convert(scale, stamp, graph(), NodeView.DEFAULT));
 115     }
 116 
 117     @Override
 118     public ValueNode exitValueNode() {
 119         return mul(graph(), base.exitValueNode(), scale);
 120     }
 121 
 122     @Override
 123     public boolean isConstantExtremum() {
 124         return scale.isConstant() && base.isConstantExtremum();
 125     }
 126 
 127     @Override
 128     public long constantExtremum() {
 129         return base.constantExtremum() * scale.asJavaConstant().asLong();
 130     }
 131 
 132     @Override
 133     public void deleteUnusedNodes() {
 134         GraphUtil.tryKillUnused(scale);


  93     public boolean isConstantInit() {
  94         return scale.isConstant() && base.isConstantInit();
  95     }
  96 
  97     @Override
  98     public boolean isConstantStride() {
  99         return scale.isConstant() && base.isConstantStride();
 100     }
 101 
 102     @Override
 103     public long constantInit() {
 104         return base.constantInit() * scale.asJavaConstant().asLong();
 105     }
 106 
 107     @Override
 108     public long constantStride() {
 109         return base.constantStride() * scale.asJavaConstant().asLong();
 110     }
 111 
 112     @Override
 113     public ValueNode extremumNode(boolean assumeLoopEntered, Stamp stamp) {
 114         return mul(graph(), base.extremumNode(assumeLoopEntered, stamp), IntegerConvertNode.convert(scale, stamp, graph(), NodeView.DEFAULT));
 115     }
 116 
 117     @Override
 118     public ValueNode exitValueNode() {
 119         return mul(graph(), base.exitValueNode(), scale);
 120     }
 121 
 122     @Override
 123     public boolean isConstantExtremum() {
 124         return scale.isConstant() && base.isConstantExtremum();
 125     }
 126 
 127     @Override
 128     public long constantExtremum() {
 129         return base.constantExtremum() * scale.asJavaConstant().asLong();
 130     }
 131 
 132     @Override
 133     public void deleteUnusedNodes() {
 134         GraphUtil.tryKillUnused(scale);
< prev index next >