Mercurial > hg > truffle
view graal/com.oracle.graal.truffle.test/sl/TestInliningRecursive2.sl @ 19960:999430bcc941
Small fix for memory schedule verification. The begin node is not always the first node in the block if it is at the same time also the end node.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Thu, 19 Mar 2015 15:38:33 +0100 |
parents | e66a6f8d63e3 |
children |
line wrap: on
line source
/* * Tests that indirect recursions are not inlined. */ function fib(a) { if (a == 2 || a == 1) { return 1; } return call(fib, a-1) + call(fib, a-2) + call(void, 0); } function call(f, a) { return f(a); } function void(a) { return a; } function test() { i = 0; sum = 0; while (i < 100) { sum = sum + fib(7); i = i + 1; } return sum; } function main() { callUntilOptimized(test); assertTrue(isInlined(test, test, fib), "not inlined: test -> fib"); }