use of com.oracle.truffle.api.nodes.InvalidAssumptionException in project graal by oracle.
the class AssumptionPartialEvaluationTest method constantValue.
@Test
public void constantValue() {
Assumption assumption = Truffle.getRuntime().createAssumption();
AbstractTestNode result = new ConstantWithAssumptionTestNode(assumption, 42);
RootTestNode rootNode = new RootTestNode(new FrameDescriptor(), "constantValue", result);
OptimizedCallTarget callTarget = assertPartialEvalEquals("constant42", rootNode);
Assert.assertTrue(callTarget.isValid());
assertDeepEquals(42, callTarget.call());
Assert.assertTrue(callTarget.isValid());
try {
assumption.check();
} catch (InvalidAssumptionException e) {
Assert.fail("Assumption must not have been invalidated.");
}
assumption.invalidate();
try {
assumption.check();
Assert.fail("Assumption must have been invalidated.");
} catch (InvalidAssumptionException e) {
}
Assert.assertFalse(callTarget.isValid());
assertDeepEquals(43, callTarget.call());
}
use of com.oracle.truffle.api.nodes.InvalidAssumptionException in project graal by oracle.
the class NeverValidAssumptionTest method testCheck.
@Test
public void testCheck() {
final NeverValidAssumption assumption = NeverValidAssumption.INSTANCE;
try {
assumption.check();
fail();
} catch (InvalidAssumptionException e) {
} catch (Exception e) {
fail();
}
}
Aggregations