< prev index next >

src/java.base/share/classes/java/lang/invoke/MethodHandles.java

Print this page

        

*** 1206,1225 **** * Certain access modes of the returned VarHandle are unsupported under * the following conditions: * <ul> * <li>if the field is declared {@code final}, then the write, atomic * update, and numeric atomic update access modes are unsupported. ! * <li>if the field type is anything other than {@code int}, ! * {@code long} or a reference type, then atomic update access modes * are unsupported. (Future major platform releases of the JDK may * support additional types for certain currently unsupported access * modes.) ! * <li>if the field type is anything other than {@code int} or ! * {@code long}, then numeric atomic update access modes are ! * unsupported. (Future major platform releases of the JDK may ! * support additional numeric types for certain currently ! * unsupported access modes.) * </ul> * <p> * If the field is declared {@code volatile} then the returned VarHandle * will override access to the field (effectively ignore the * {@code volatile} declaration) in accordance to it's specified --- 1206,1224 ---- * Certain access modes of the returned VarHandle are unsupported under * the following conditions: * <ul> * <li>if the field is declared {@code final}, then the write, atomic * update, and numeric atomic update access modes are unsupported. ! * <li>if the field type is anything other than {@code boolean}, ! * {@code byte}, {@code short}, {@code char}, {@code int} or ! * a reference type, then atomic update access modes * are unsupported. (Future major platform releases of the JDK may * support additional types for certain currently unsupported access * modes.) ! * <li>if the field type is anything other than {@code byte}, ! * {@code short}, {@code char}, {@code int} or {@code long}, then ! * numeric atomic update access modes are unsupported. * </ul> * <p> * If the field is declared {@code volatile} then the returned VarHandle * will override access to the field (effectively ignore the * {@code volatile} declaration) in accordance to it's specified
*** 1304,1323 **** * Certain access modes of the returned VarHandle are unsupported under * the following conditions: * <ul> * <li>if the field is declared {@code final}, then the write, atomic * update, and numeric atomic update access modes are unsupported. ! * <li>if the field type is anything other than {@code int}, * {@code long} or a reference type, then atomic update access modes * are unsupported. (Future major platform releases of the JDK may * support additional types for certain currently unsupported access * modes.) ! * <li>if the field type is anything other than {@code int} or ! * {@code long}, then numeric atomic update access modes are ! * unsupported. (Future major platform releases of the JDK may ! * support additional numeric types for certain currently ! * unsupported access modes.) * </ul> * <p> * If the field is declared {@code volatile} then the returned VarHandle * will override access to the field (effectively ignore the * {@code volatile} declaration) in accordance to it's specified --- 1303,1321 ---- * Certain access modes of the returned VarHandle are unsupported under * the following conditions: * <ul> * <li>if the field is declared {@code final}, then the write, atomic * update, and numeric atomic update access modes are unsupported. ! * <li>if the field type is anything other than {@code boolean}, ! * {@code byte}, {@code short}, {@code char}, {@code int}, * {@code long} or a reference type, then atomic update access modes * are unsupported. (Future major platform releases of the JDK may * support additional types for certain currently unsupported access * modes.) ! * <li>if the field type is anything other than {@code byte}, ! * {@code short}, {@code char}, {@code int} or {@code long}, then ! * numeric atomic update access modes are unsupported. * </ul> * <p> * If the field is declared {@code volatile} then the returned VarHandle * will override access to the field (effectively ignore the * {@code volatile} declaration) in accordance to it's specified
*** 1588,1607 **** * Certain access modes of the returned VarHandle are unsupported under * the following conditions: * <ul> * <li>if the field is declared {@code final}, then the write, atomic * update, and numeric atomic update access modes are unsupported. ! * <li>if the field type is anything other than {@code int}, ! * {@code long} or a reference type, then atomic update access modes * are unsupported. (Future major platform releases of the JDK may * support additional types for certain currently unsupported access * modes.) ! * <li>if the field type is anything other than {@code int} or ! * {@code long}, then numeric atomic update access modes are ! * unsupported. (Future major platform releases of the JDK may ! * support additional numeric types for certain currently ! * unsupported access modes.) * </ul> * <p> * If the field is declared {@code volatile} then the returned VarHandle * will override access to the field (effectively ignore the * {@code volatile} declaration) in accordance to it's specified --- 1586,1604 ---- * Certain access modes of the returned VarHandle are unsupported under * the following conditions: * <ul> * <li>if the field is declared {@code final}, then the write, atomic * update, and numeric atomic update access modes are unsupported. ! * <li>if the field type is anything other than {@code boolean}, ! * {@code byte}, {@code short}, {@code char}, {@code int}, or ! * a reference type, then atomic update access modes * are unsupported. (Future major platform releases of the JDK may * support additional types for certain currently unsupported access * modes.) ! * <li>if the field type is anything other than {@code byte}, ! * {@code short}, {@code char}, {@code int} or {@code long}, then ! * numeric atomic update access modes are unsupported. * </ul> * <p> * If the field is declared {@code volatile} then the returned VarHandle * will override access to the field (effectively ignore the * {@code volatile} declaration) in accordance to it's specified
*** 2280,2299 **** * {@code T[]}, supporting shape {@code (T[], int : T)}. * <p> * Certain access modes of the returned VarHandle are unsupported under * the following conditions: * <ul> ! * <li>if the component type is anything other than {@code int}, ! * {@code long} or a reference type, then atomic update access modes * are unsupported. (Future major platform releases of the JDK may * support additional types for certain currently unsupported access * modes.) ! * <li>if the component type is anything other than {@code int} or ! * {@code long}, then numeric atomic update access modes are ! * unsupported. (Future major platform releases of the JDK may ! * support additional numeric types for certain currently ! * unsupported access modes.) * </ul> * @param arrayClass the class of an array, of type {@code T[]} * @return a VarHandle giving access to elements of an array * @throws NullPointerException if the arrayClass is null * @throws IllegalArgumentException if arrayClass is not an array type --- 2277,2295 ---- * {@code T[]}, supporting shape {@code (T[], int : T)}. * <p> * Certain access modes of the returned VarHandle are unsupported under * the following conditions: * <ul> ! * <li>if the field type is anything other than {@code boolean}, ! * {@code byte}, {@code short}, {@code char}, {@code int} or ! * a reference type, then atomic update access modes * are unsupported. (Future major platform releases of the JDK may * support additional types for certain currently unsupported access * modes.) ! * <li>if the component type is anything other than {@code byte}, ! * {@code short}, {@code char}, {@code int} or {@code long}, then ! * numeric atomic update access modes are unsupported. * </ul> * @param arrayClass the class of an array, of type {@code T[]} * @return a VarHandle giving access to elements of an array * @throws NullPointerException if the arrayClass is null * @throws IllegalArgumentException if arrayClass is not an array type
< prev index next >