Lines Matching defs:target

31  * A {@code MutableCallSite} is a {@link CallSite} whose target variable
34 * all calls to the site's current target.
36 * also delegates each call to the site's current target.
68 * <em>Non-synchronization of target values:</em>
69 * A write to a mutable call site's target does not force other threads
72 * may cache the old target value and delay their use of the new target
78 * to accept a new target value, even if there is no other synchronization.
80 * For target values which will be frequently updated, consider using
87 * The initial target is set to a method handle of the given type
94 * it is usually provided with a more useful target method,
104 * Creates a call site object with an initial target method handle.
105 * The type of the call site is permanently set to the initial target's type.
106 * @param target the method handle that will be the initial target of the call site
107 * @throws NullPointerException if the proposed target is null
109 public MutableCallSite(MethodHandle target) {
110 super(target);
114 * Returns the target method of the call site, which behaves
122 * of a previous read of the target from memory, and may fail to see
123 * a recent update to the target by another thread.
129 return target;
133 * Updates the target method of this call site, as a normal variable.
134 * The type of the new target must agree with the type of the old target.
140 * In particular, unrelated threads may fail to see the updated target
143 * into the bootstrap method and/or the target methods used
146 * @param newTarget the new target
147 * @throws NullPointerException if the proposed new target is null
148 * @throws WrongMethodTypeException if the proposed new target
149 * has a method type that differs from the previous target
153 checkTargetChange(this.target, newTarget);
168 * loaded from the target of any of the call sites.
171 * on an old target value.
174 * The overall effect is to force all future readers of each call site's target
178 * (somehow) decached all previous versions of each call site's target.
182 * Note that reader threads may observe an updated target as early
186 * the target until the {@code syncAll} call returns
213 * <li>Specifically, the write to the current target of {@code S} is
221 * it is therefore required to see either the current target
222 * of {@code S}, or a later write to that target,
223 * if it executes a read on the target of {@code S}.
236 * read of the target of {@code S}. It is as if the
237 * implementation arbitrarily picked a read of {@code S}'s target
239 * thereby ensuring communication of the new target value.
244 * use previous values of {@code S}'s target.
247 * of the updated target.
258 * in order to make them notice the updated target value.
266 * a volatile variable for the target of a mutable call site.