< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GuardPrioritiesTest.java

Print this page




  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 
  25 package org.graalvm.compiler.core.test;
  26 
  27 import static org.graalvm.compiler.graph.test.matchers.NodeIterableCount.hasCount;
  28 import static org.graalvm.compiler.graph.test.matchers.NodeIterableIsEmpty.isNotEmpty;
  29 import static org.junit.Assert.assertThat;
  30 import static org.junit.Assume.assumeThat;
  31 import static org.junit.Assume.assumeTrue;
  32 
  33 import java.util.Iterator;
  34 
  35 import org.graalvm.compiler.api.directives.GraalDirectives;
  36 import org.graalvm.compiler.core.common.GraalOptions;
  37 import org.graalvm.compiler.graph.iterators.NodeIterable;

  38 import org.graalvm.compiler.nodes.GuardNode;
  39 import org.graalvm.compiler.nodes.ParameterNode;
  40 import org.graalvm.compiler.nodes.StructuredGraph;
  41 import org.graalvm.compiler.nodes.calc.IntegerLowerThanNode;
  42 import org.graalvm.compiler.nodes.calc.IsNullNode;
  43 import org.graalvm.compiler.nodes.spi.LoweringTool;
  44 import org.graalvm.compiler.phases.common.CanonicalizerPhase;
  45 import org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase;
  46 import org.graalvm.compiler.phases.common.FloatingReadPhase;
  47 import org.graalvm.compiler.phases.common.LoweringPhase;
  48 import org.graalvm.compiler.phases.schedule.SchedulePhase;
  49 import org.graalvm.compiler.phases.tiers.HighTierContext;
  50 import org.junit.Test;
  51 
  52 import jdk.vm.ci.meta.SpeculationLog;
  53 
  54 public class GuardPrioritiesTest extends GraphScheduleTest {
  55     private int[] array;
  56     private int size;
  57 
  58     public void growing(int e) {
  59         if (size >= array.length) {
  60             // grow
  61             GraalDirectives.deoptimizeAndInvalidateWithSpeculation();
  62         }
  63         array[size++] = e;
  64     }
  65 




  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 
  25 package org.graalvm.compiler.core.test;
  26 
  27 import static org.graalvm.compiler.graph.test.matchers.NodeIterableCount.hasCount;
  28 import static org.graalvm.compiler.graph.test.matchers.NodeIterableIsEmpty.isNotEmpty;
  29 import static org.junit.Assert.assertThat;
  30 import static org.junit.Assume.assumeThat;
  31 import static org.junit.Assume.assumeTrue;
  32 
  33 import java.util.Iterator;
  34 
  35 import org.graalvm.compiler.api.directives.GraalDirectives;
  36 import org.graalvm.compiler.core.common.GraalOptions;
  37 import org.graalvm.compiler.graph.iterators.NodeIterable;
  38 import org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase;
  39 import org.graalvm.compiler.nodes.GuardNode;
  40 import org.graalvm.compiler.nodes.ParameterNode;
  41 import org.graalvm.compiler.nodes.StructuredGraph;
  42 import org.graalvm.compiler.nodes.calc.IntegerLowerThanNode;
  43 import org.graalvm.compiler.nodes.calc.IsNullNode;
  44 import org.graalvm.compiler.nodes.spi.LoweringTool;
  45 import org.graalvm.compiler.phases.common.CanonicalizerPhase;

  46 import org.graalvm.compiler.phases.common.FloatingReadPhase;
  47 import org.graalvm.compiler.phases.common.LoweringPhase;
  48 import org.graalvm.compiler.phases.schedule.SchedulePhase;
  49 import org.graalvm.compiler.phases.tiers.HighTierContext;
  50 import org.junit.Test;
  51 
  52 import jdk.vm.ci.meta.SpeculationLog;
  53 
  54 public class GuardPrioritiesTest extends GraphScheduleTest {
  55     private int[] array;
  56     private int size;
  57 
  58     public void growing(int e) {
  59         if (size >= array.length) {
  60             // grow
  61             GraalDirectives.deoptimizeAndInvalidateWithSpeculation();
  62         }
  63         array[size++] = e;
  64     }
  65 


< prev index next >