Mercurial > hg > truffle
comparison graal/com.oracle.graal.truffle.test/sl/TestInliningRecursive1.sl @ 17257:f735aa886cf6
Truffle: add new inlining tests; adapt tests for context sensitive inlining.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 29 Sep 2014 18:46:40 +0200 |
parents | |
children | 04d6bb76cfb3 |
comparison
equal
deleted
inserted
replaced
17256:88d5fd9e1a6c | 17257:f735aa886cf6 |
---|---|
1 /* | |
2 * Test recursive calls do not get inlined and do not crash. | |
3 */ | |
4 function fib(a) { | |
5 if (a == 2 || a == 1) { | |
6 return 1; | |
7 } | |
8 return fib(a-1) + fib(a-2); | |
9 } | |
10 | |
11 function test() { | |
12 i = 0; | |
13 sum = 0; | |
14 while (i < 100) { | |
15 sum = sum + fib(7); | |
16 i = i + 1; | |
17 } | |
18 return sum; | |
19 } | |
20 | |
21 function main() { | |
22 waitForOptimization(callUntilOptimized(test)); | |
23 assertTrue(isInlined(test, test, fib), "fib is not inlined"); | |
24 assertFalse(isInlined(test, fib, fib), "fib -> fib is not inlined"); | |
25 } |