jdk/src/java.base/share/classes/java/lang/invoke/VarHandle.java
changeset 38358 cb99c6d2af1b
parent 37719 add11bc0e6e2
parent 38356 1e4ecca97792
child 38367 21801e8e9344
equal deleted inserted replaced
38350:da6c6f544dfb 38358:cb99c6d2af1b
    24  */
    24  */
    25 
    25 
    26 package java.lang.invoke;
    26 package java.lang.invoke;
    27 
    27 
    28 import jdk.internal.HotSpotIntrinsicCandidate;
    28 import jdk.internal.HotSpotIntrinsicCandidate;
       
    29 import jdk.internal.util.Preconditions;
    29 import jdk.internal.vm.annotation.ForceInline;
    30 import jdk.internal.vm.annotation.ForceInline;
    30 
    31 
    31 import java.lang.reflect.Method;
    32 import java.lang.reflect.Method;
    32 import java.util.ArrayList;
    33 import java.util.ArrayList;
    33 import java.util.Arrays;
    34 import java.util.Arrays;
    34 import java.util.HashMap;
    35 import java.util.HashMap;
    35 import java.util.List;
    36 import java.util.List;
    36 import java.util.Map;
    37 import java.util.Map;
    37 import java.util.Objects;
       
    38 import java.util.function.BiFunction;
    38 import java.util.function.BiFunction;
    39 import java.util.function.Function;
    39 import java.util.function.Function;
    40 
    40 
    41 import static java.lang.invoke.MethodHandleStatics.UNSAFE;
    41 import static java.lang.invoke.MethodHandleStatics.UNSAFE;
    42 import static java.lang.invoke.MethodHandleStatics.newInternalError;
    42 import static java.lang.invoke.MethodHandleStatics.newInternalError;
  1434         UNSAFE.putObject(this, VFORM_OFFSET, newVForm);
  1434         UNSAFE.putObject(this, VFORM_OFFSET, newVForm);
  1435         UNSAFE.fullFence();
  1435         UNSAFE.fullFence();
  1436     }
  1436     }
  1437 
  1437 
  1438     static final BiFunction<String, List<Integer>, ArrayIndexOutOfBoundsException>
  1438     static final BiFunction<String, List<Integer>, ArrayIndexOutOfBoundsException>
  1439             AIOOBE_SUPPLIER = Objects.outOfBoundsExceptionFormatter(
  1439             AIOOBE_SUPPLIER = Preconditions.outOfBoundsExceptionFormatter(
  1440             new Function<String, ArrayIndexOutOfBoundsException>() {
  1440             new Function<String, ArrayIndexOutOfBoundsException>() {
  1441                 @Override
  1441                 @Override
  1442                 public ArrayIndexOutOfBoundsException apply(String s) {
  1442                 public ArrayIndexOutOfBoundsException apply(String s) {
  1443                     return new ArrayIndexOutOfBoundsException(s);
  1443                     return new ArrayIndexOutOfBoundsException(s);
  1444                 }
  1444                 }