Enable HAVE_AVFOUNDATION_VIDEO_OUTPUT on PLATFORM(IOSMAC)
[WebKit-https.git] / JSTests / controlFlowProfiler / test-jit.js
1 var hasBasicBlockExecuted = $vm.hasBasicBlockExecuted;
2
3 load("./driver/driver.js");
4
5 function tierUpToBaseline(func, arg) 
6 {
7     for (var i = 0; i < 50; i++)
8         func(arg);
9 }
10
11 function tierUpToDFG(func, arg) 
12 {
13     for (var i = 0; i < 50; i++)
14         func(arg);
15 }
16
17 function baselineTest(arg) {
18     if (arg > 20) {
19         return 20;
20     } else {
21         return 30;
22     }
23 }
24
25 function dfgTest(arg) {
26     if (arg > 20) {
27         return 20;
28     } else {
29         return 30;
30     }
31 }
32
33 noInline(baselineTest);
34 noInline(dfgTest);
35
36 tierUpToBaseline(baselineTest, 10);
37 tierUpToDFG(dfgTest, 10);
38
39 assert(!hasBasicBlockExecuted(baselineTest, "return 20"), "should not have executed yet.");
40 assert(hasBasicBlockExecuted(baselineTest, "return 30"), "should have executed.");
41 baselineTest(25);
42 assert(hasBasicBlockExecuted(baselineTest, "return 20"), "should have executed.");
43
44 assert(!hasBasicBlockExecuted(dfgTest, "return 20"), "should not have executed yet.");
45 assert(hasBasicBlockExecuted(dfgTest, "return 30"), "should have executed.");
46 dfgTest(25);
47 assert(hasBasicBlockExecuted(dfgTest, "return 20"), "should have executed.");
48