Mercurial > hg > truffle
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 |
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 } |