src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/ProbabilityDirectiveTest.java
changeset 48861 47f19ff9903c
parent 47216 71c04702a3d5
child 50858 2d3e99a72541
equal deleted inserted replaced
48860:5bce1b7e7800 48861:47f19ff9903c
    48     @Test
    48     @Test
    49     public void testBranchProbability() {
    49     public void testBranchProbability() {
    50         test("branchProbabilitySnippet", 5);
    50         test("branchProbabilitySnippet", 5);
    51     }
    51     }
    52 
    52 
       
    53     public static int branchProbabilitySnippet2(int arg) {
       
    54         if (!GraalDirectives.injectBranchProbability(0.125, arg <= 0)) {
       
    55             GraalDirectives.controlFlowAnchor(); // prevent removal of the if
       
    56             return 2;
       
    57         } else {
       
    58             GraalDirectives.controlFlowAnchor(); // prevent removal of the if
       
    59             return 1;
       
    60         }
       
    61     }
       
    62 
       
    63     @Test
       
    64     public void testBranchProbability2() {
       
    65         test("branchProbabilitySnippet2", 5);
       
    66     }
       
    67 
    53     @Override
    68     @Override
    54     protected boolean checkLowTierGraph(StructuredGraph graph) {
    69     protected boolean checkLowTierGraph(StructuredGraph graph) {
    55         NodeIterable<IfNode> ifNodes = graph.getNodes(IfNode.TYPE);
    70         NodeIterable<IfNode> ifNodes = graph.getNodes(IfNode.TYPE);
    56         Assert.assertEquals("IfNode count", 1, ifNodes.count());
    71         Assert.assertEquals("IfNode count", 1, ifNodes.count());
    57 
    72