Mercurial > hg > truffle
view graal/com.oracle.graal.truffle.test/sl/TestInliningMaxCallerSize.sl @ 17399:5787218bad91
Truffle: implemented recursive node iterator and node streams for the graal runtime.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Thu, 09 Oct 2014 17:25:18 +0200 |
parents | 5c06895b1aec |
children | 04d6bb76cfb3 |
line wrap: on
line source
/* * This test verifies that CallTargets cannot exceed the TruffleInliningMaxCallerSize limit when inlining. */ function inlinableFunction() { generateDummyNodes(getOption("TruffleInliningMaxCallerSize") - 8); } function notInlinableFunction() { generateDummyNodes(getOption("TruffleInliningMaxCallerSize") - 7); } function test1() { inlinableFunction(); } function test2() { notInlinableFunction(); } function main() { originalMaxCallerSize = getOption("TruffleInliningMaxCallerSize"); setOption("TruffleInliningMaxCallerSize", 20); waitForOptimization(callUntilOptimized(test1)); assertTrue(isInlined(test1, test1, inlinableFunction), "inlinableFunction is not inlined"); waitForOptimization(callUntilOptimized(test2)); assertFalse(isInlined(test2, test2, notInlinableFunction), "notInlinableFunction is inlined"); setOption("TruffleInliningMaxCallerSize", originalMaxCallerSize); }