annotate graal/com.oracle.graal.truffle.test/sl/TestTruffleBoundary01.sl @ 18985:867058575979

Truffle: Improved support for "probing" AST nodes: - Node.isSafelyReplacaeableBy(Node) checks in advance if Node.replace(Node) would be unsafe (crash the VM). - Hoist Probe() from language imlementations into Node; now completely language agnostic. - Language implementations support probing by implementing Node.isInstrumentable() and Node.createWrapperNode() - Node.Probe() throws ProbeException (without side effects) if the probe fails. -- ProbeException contains an instance of ProbeFailure that diagnoses the failure in detail - Additional measures to prevent instrumentation from being applied to internal InstrumentationNodes. - Promote ProbeListener to top level interface and add a default implementation
author Michael Van De Vanter <michael.van.de.vanter@oracle.com>
date Tue, 27 Jan 2015 20:24:54 -0800
parents 0e7455cb3004
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17250
9f001294893d Truffle: Added test case that compiler intrinsics are not intrinsified if hidden behind a @SlowPath.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
1 /*
9f001294893d Truffle: Added test case that compiler intrinsics are not intrinsified if hidden behind a @SlowPath.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
2 * This test verifies that CallTargets cannot exceed the TruffleInliningMaxCallerSize limit when inlining.
9f001294893d Truffle: Added test case that compiler intrinsics are not intrinsified if hidden behind a @SlowPath.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
3 */
9f001294893d Truffle: Added test case that compiler intrinsics are not intrinsified if hidden behind a @SlowPath.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
4
9f001294893d Truffle: Added test case that compiler intrinsics are not intrinsified if hidden behind a @SlowPath.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
5 function test1() {
18145
0e7455cb3004 Truffle: fixed remaining slow path name fragements.
Christian Humer <christian.humer@gmail.com>
parents: 17405
diff changeset
6 testTruffleBoundary01();
17250
9f001294893d Truffle: Added test case that compiler intrinsics are not intrinsified if hidden behind a @SlowPath.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
7 }
9f001294893d Truffle: Added test case that compiler intrinsics are not intrinsified if hidden behind a @SlowPath.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
8 function main() {
17405
04d6bb76cfb3 Truffle: update callUntilOptimized to wait for the compilation and call it once optimized.
Christian Humer <christian.humer@gmail.com>
parents: 17250
diff changeset
9 callUntilOptimized(test1);
17250
9f001294893d Truffle: Added test case that compiler intrinsics are not intrinsified if hidden behind a @SlowPath.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
10 assertTrue(isOptimized(test1), "inlinableFunction must be compiled properly");
9f001294893d Truffle: Added test case that compiler intrinsics are not intrinsified if hidden behind a @SlowPath.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
11 }