src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/NewArrayNode.java
changeset 48861 47f19ff9903c
parent 48190 25cfedf27edc
child 50330 2cbc42a5764b
equal deleted inserted replaced
48860:5bce1b7e7800 48861:47f19ff9903c
    22  */
    22  */
    23 package org.graalvm.compiler.nodes.java;
    23 package org.graalvm.compiler.nodes.java;
    24 
    24 
    25 import java.util.Collections;
    25 import java.util.Collections;
    26 
    26 
    27 import org.graalvm.compiler.core.common.calc.Condition;
    27 import org.graalvm.compiler.core.common.calc.CanonicalCondition;
    28 import org.graalvm.compiler.core.common.type.IntegerStamp;
    28 import org.graalvm.compiler.core.common.type.IntegerStamp;
    29 import org.graalvm.compiler.core.common.type.Stamp;
    29 import org.graalvm.compiler.core.common.type.Stamp;
    30 import org.graalvm.compiler.core.common.type.StampFactory;
    30 import org.graalvm.compiler.core.common.type.StampFactory;
    31 import org.graalvm.compiler.core.common.type.TypeReference;
    31 import org.graalvm.compiler.core.common.type.TypeReference;
    32 import org.graalvm.compiler.graph.NodeClass;
    32 import org.graalvm.compiler.graph.NodeClass;
   130                 }
   130                 }
   131             }
   131             }
   132             // Should be areFrameStatesAtSideEffects but currently SVM will complain about
   132             // Should be areFrameStatesAtSideEffects but currently SVM will complain about
   133             // RuntimeConstraint
   133             // RuntimeConstraint
   134             if (graph().getGuardsStage().allowsFloatingGuards()) {
   134             if (graph().getGuardsStage().allowsFloatingGuards()) {
   135                 LogicNode lengthNegativeCondition = CompareNode.createCompareNode(graph(), Condition.LT, length(), ConstantNode.forInt(0, graph()), tool.getConstantReflection(), view);
   135                 LogicNode lengthNegativeCondition = CompareNode.createCompareNode(graph(), CanonicalCondition.LT, length(), ConstantNode.forInt(0, graph()), tool.getConstantReflection(), view);
   136                 // we do not have a non-deopting path for that at the moment so action=None.
   136                 // we do not have a non-deopting path for that at the moment so action=None.
   137                 FixedGuardNode guard = graph().add(new FixedGuardNode(lengthNegativeCondition, DeoptimizationReason.RuntimeConstraint, DeoptimizationAction.None, true));
   137                 FixedGuardNode guard = graph().add(new FixedGuardNode(lengthNegativeCondition, DeoptimizationReason.RuntimeConstraint, DeoptimizationAction.None, true));
   138                 graph().replaceFixedWithFixed(this, guard);
   138                 graph().replaceFixedWithFixed(this, guard);
   139             }
   139             }
   140         }
   140         }