comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/CallNode.java @ 15090:07e7aae05983

Truffle: context sensitive inlining cleanup
author Christian Humer <christian.humer@gmail.com>
date Mon, 14 Apr 2014 18:25:23 +0200
parents 448338c9ce96
children
comparison
equal deleted inserted replaced
15089:448338c9ce96 15090:07e7aae05983
86 public abstract boolean isInliningForced(); 86 public abstract boolean isInliningForced();
87 87
88 /** 88 /**
89 * Enforces the runtime system to inline the {@link CallTarget} at this call site. If the 89 * Enforces the runtime system to inline the {@link CallTarget} at this call site. If the
90 * runtime system does not support inlining or it is already inlined this method has no effect. 90 * runtime system does not support inlining or it is already inlined this method has no effect.
91 * The runtime system may decide to not inline calls which were forced to inline.
91 */ 92 */
92 public abstract void forceInlining(); 93 public abstract void forceInlining();
93 94
94 /** 95 /**
95 * Returns true if the runtime system has decided to inline this call-site. If the 96 * Returns true if the runtime system has decided to inline this call-site. If the
96 * {@link CallNode} was forced to inline then this does not necessarily mean that the 97 * {@link CallNode} was forced to inline then this does not necessarily mean that the
97 * {@link CallNode} is really going to be inlined. This depends on whether or not the runtime 98 * {@link CallNode} is really going to be inlined. This depends on whether or not the runtime
98 * system supports inlining or not. The runtime system may also decide to ignore calls to 99 * system supports inlining. The runtime system may also decide to not inline calls which were
99 * {@link #forceInlining()}. 100 * forced to inline.
100 */ 101 */
101 public abstract boolean isInlined(); 102 public abstract boolean isInlined();
102 103
103 /** 104 /**
104 * Returns <code>true</code> if this {@link CallNode} can be split. A {@link CallNode} can only 105 * Returns <code>true</code> if this {@link CallNode} can be split. A {@link CallNode} can only