equal
deleted
inserted
replaced
215 * |
215 * |
216 * @return a method handle which always invokes this call site's current target |
216 * @return a method handle which always invokes this call site's current target |
217 */ |
217 */ |
218 public abstract MethodHandle dynamicInvoker(); |
218 public abstract MethodHandle dynamicInvoker(); |
219 |
219 |
220 /*non-public*/ MethodHandle makeDynamicInvoker() { |
220 /*non-public*/ |
|
221 MethodHandle makeDynamicInvoker() { |
221 MethodHandle getTarget = getTargetHandle().bindArgumentL(0, this); |
222 MethodHandle getTarget = getTargetHandle().bindArgumentL(0, this); |
222 MethodHandle invoker = MethodHandles.exactInvoker(this.type()); |
223 MethodHandle invoker = MethodHandles.exactInvoker(this.type()); |
223 return MethodHandles.foldArguments(invoker, getTarget); |
224 return MethodHandles.foldArguments(invoker, getTarget); |
224 } |
225 } |
225 |
226 |