jdk/src/java.base/share/classes/java/lang/invoke/CallSite.java
changeset 26469 e6bc14fae1cf
parent 26468 2d57604f9299
child 26470 1586df597397
equal deleted inserted replaced
26468:2d57604f9299 26469:e6bc14fae1cf
   209      * @return a method handle which always invokes this call site's current target
   209      * @return a method handle which always invokes this call site's current target
   210      */
   210      */
   211     public abstract MethodHandle dynamicInvoker();
   211     public abstract MethodHandle dynamicInvoker();
   212 
   212 
   213     /*non-public*/ MethodHandle makeDynamicInvoker() {
   213     /*non-public*/ MethodHandle makeDynamicInvoker() {
   214         MethodHandle getTarget = GET_TARGET.bindReceiver(this);
   214         MethodHandle getTarget = GET_TARGET.bindArgumentL(0, this);
   215         MethodHandle invoker = MethodHandles.exactInvoker(this.type());
   215         MethodHandle invoker = MethodHandles.exactInvoker(this.type());
   216         return MethodHandles.foldArguments(invoker, getTarget);
   216         return MethodHandles.foldArguments(invoker, getTarget);
   217     }
   217     }
   218 
   218 
   219     private static final MethodHandle GET_TARGET;
   219     private static final MethodHandle GET_TARGET;