annotate graal/com.oracle.graal.truffle.test/sl/TestInliningMaxCallerSize.sl @ 17370:5c06895b1aec

sl inlining test: override default setting for max caller size to a smaller value
author Bernhard Urban <bernhard.urban@jku.at>
date Wed, 08 Oct 2014 17:38:54 +0200
parents f735aa886cf6
children 5787218bad91
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17007
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
1 /*
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
2 * This test verifies that CallTargets cannot exceed the TruffleInliningMaxCallerSize limit when inlining.
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
3 */
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
4 function inlinableFunction() {
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
5 generateDummyNodes(getOption("TruffleInliningMaxCallerSize") - 8);
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
6 }
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
7
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
8 function notInlinableFunction() {
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
9 generateDummyNodes(getOption("TruffleInliningMaxCallerSize") - 7);
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
10 }
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
11
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
12 function test1() {
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
13 inlinableFunction();
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
14 }
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
15
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
16 function test2() {
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
17 notInlinableFunction();
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
18 }
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
19
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
20 function main() {
17370
5c06895b1aec sl inlining test: override default setting for max caller size to a smaller value
Bernhard Urban <bernhard.urban@jku.at>
parents: 17257
diff changeset
21 originalMaxCallerSize = getOption("TruffleInliningMaxCallerSize");
5c06895b1aec sl inlining test: override default setting for max caller size to a smaller value
Bernhard Urban <bernhard.urban@jku.at>
parents: 17257
diff changeset
22 setOption("TruffleInliningMaxCallerSize", 20);
17007
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
23 waitForOptimization(callUntilOptimized(test1));
17257
f735aa886cf6 Truffle: add new inlining tests; adapt tests for context sensitive inlining.
Christian Humer <christian.humer@gmail.com>
parents: 17007
diff changeset
24 assertTrue(isInlined(test1, test1, inlinableFunction), "inlinableFunction is not inlined");
17007
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
25
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
26 waitForOptimization(callUntilOptimized(test2));
17257
f735aa886cf6 Truffle: add new inlining tests; adapt tests for context sensitive inlining.
Christian Humer <christian.humer@gmail.com>
parents: 17007
diff changeset
27 assertFalse(isInlined(test2, test2, notInlinableFunction), "notInlinableFunction is inlined");
17370
5c06895b1aec sl inlining test: override default setting for max caller size to a smaller value
Bernhard Urban <bernhard.urban@jku.at>
parents: 17257
diff changeset
28 setOption("TruffleInliningMaxCallerSize", originalMaxCallerSize);
17007
004e3f0a0517 Truffle: added new infrastructure for graal truffle runtime tests using SL.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
29 }