jdk/src/java.base/share/classes/java/lang/invoke/VarHandle.java
changeset 37345 9cb6e1141bdb
parent 37344 52d3d8517efc
child 37719 add11bc0e6e2
child 38356 1e4ecca97792
equal deleted inserted replaced
37344:52d3d8517efc 37345:9cb6e1141bdb
    32 import java.util.ArrayList;
    32 import java.util.ArrayList;
    33 import java.util.Arrays;
    33 import java.util.Arrays;
    34 import java.util.HashMap;
    34 import java.util.HashMap;
    35 import java.util.List;
    35 import java.util.List;
    36 import java.util.Map;
    36 import java.util.Map;
       
    37 import java.util.Objects;
    37 import java.util.function.BiFunction;
    38 import java.util.function.BiFunction;
       
    39 import java.util.function.Function;
    38 
    40 
    39 import static java.lang.invoke.MethodHandleStatics.UNSAFE;
    41 import static java.lang.invoke.MethodHandleStatics.UNSAFE;
    40 import static java.lang.invoke.MethodHandleStatics.newInternalError;
    42 import static java.lang.invoke.MethodHandleStatics.newInternalError;
    41 
    43 
    42 /**
    44 /**
  1375         if (vform == newVForm) return;
  1377         if (vform == newVForm) return;
  1376         UNSAFE.putObject(this, VFORM_OFFSET, newVForm);
  1378         UNSAFE.putObject(this, VFORM_OFFSET, newVForm);
  1377         UNSAFE.fullFence();
  1379         UNSAFE.fullFence();
  1378     }
  1380     }
  1379 
  1381 
  1380     static final BiFunction<Integer, Integer, ArrayIndexOutOfBoundsException> AIOOBE_SUPPLIER = new BiFunction<>() {
  1382     static final BiFunction<String, List<Integer>, ArrayIndexOutOfBoundsException>
  1381         @Override
  1383             AIOOBE_SUPPLIER = Objects.outOfBoundsExceptionFormatter(
  1382         public ArrayIndexOutOfBoundsException apply(Integer a, Integer b) {
  1384             new Function<String, ArrayIndexOutOfBoundsException>() {
  1383             return new ArrayIndexOutOfBoundsException(a, b);
  1385                 @Override
  1384         }
  1386                 public ArrayIndexOutOfBoundsException apply(String s) {
  1385     };
  1387                     return new ArrayIndexOutOfBoundsException(s);
       
  1388                 }
       
  1389             });
  1386 
  1390 
  1387     private static final long VFORM_OFFSET;
  1391     private static final long VFORM_OFFSET;
  1388 
  1392 
  1389     static {
  1393     static {
  1390         try {
  1394         try {