comparison graal/com.oracle.truffle.api.dsl/src/com/oracle/truffle/api/dsl/Specialization.java @ 19305:48bdad77afcd

Truffle-DSL: assumptions javadoc fixes.
author Christian Humer <christian.humer@gmail.com>
date Wed, 11 Feb 2015 21:51:26 +0100
parents 67ab244ab689
children
comparison
equal deleted inserted replaced
19304:6135f3a3fa45 19305:48bdad77afcd
262 /** 262 /**
263 * <p> 263 * <p>
264 * Declares assumption guards that optimistically assume that the state of an {@link Assumption} 264 * Declares assumption guards that optimistically assume that the state of an {@link Assumption}
265 * remains valid. Assumption expressions are cached once per specialization instantiation. If 265 * remains valid. Assumption expressions are cached once per specialization instantiation. If
266 * one of the returned assumptions gets invalidated then the specialization instance is removed. 266 * one of the returned assumptions gets invalidated then the specialization instance is removed.
267 * An assumption expression may return different assumptions per specialization instance. The 267 * If the assumption expression returns an array of assumptions then all assumptions of the
268 * returned assumption instance must not be <code>null</code>. 268 * array are checked. This is limited to one-dimensional arrays.
269 * </p> 269 * </p>
270 * <p> 270 * <p>
271 * Assumption expressions are defined using a subset of Java. This subset includes 271 * Assumption expressions are defined using a subset of Java. This subset includes
272 * field/parameter accesses, function calls, type exact infix comparisons (==, !=, <, <=, >, 272 * field/parameter accesses, function calls, type exact infix comparisons (==, !=, <, <=, >,
273 * >=), logical negation (!), logical disjunction (||) and integer literals. The return type of 273 * >=), logical negation (!), logical disjunction (||) and integer literals. The return type of
274 * the expression must be {@link Assumption}. Assumption expressions are not allowed to bind to 274 * the expression must be {@link Assumption} or an array of {@link Assumption} instances.
275 * dynamic parameter values of the specialization. Bound elements without receivers are resolved 275 * Assumption expressions are not allowed to bind to dynamic parameter values of the
276 * using the following order: 276 * specialization. Bound elements without receivers are resolved using the following order:
277 * <ol> 277 * <ol>
278 * <li>Cached parameters of the enclosing specialization.</li> 278 * <li>Cached parameters of the enclosing specialization.</li>
279 * <li>Fields defined using {@link NodeField} for the enclosing node.</li> 279 * <li>Fields defined using {@link NodeField} for the enclosing node.</li>
280 * <li>Non-private, static or virtual methods or fields of enclosing node.</li> 280 * <li>Non-private, static or virtual methods or fields of enclosing node.</li>
281 * <li>Non-private, static or virtual methods or fields of super types of the enclosing node.</li> 281 * <li>Non-private, static or virtual methods or fields of super types of the enclosing node.</li>