--- old/src/java.base/share/classes/java/lang/invoke/VarHandle.java 2019-05-15 13:57:41.839726120 -0400 +++ new/src/java.base/share/classes/java/lang/invoke/VarHandle.java 2019-05-15 13:57:41.467724275 -0400 @@ -1554,8 +1554,8 @@ // the field type (value) is mapped to the return type of MethodType // the receiver type is mapped to a parameter type of MethodType // So use the value type as receiver may be a box type. - if (receiver != null && receiver.isValue()) - receiver = receiver.asValueType(); + if (receiver != null) + receiver = receiver.asPrimaryType(); switch (this) { case GET: ps = allocateParameters(0, receiver, intermediate);