--- old/src/java.base/share/classes/java/lang/invoke/ValueBootstrapMethods.java 2018-12-07 12:57:53.000000000 -0800 +++ new/src/java.base/share/classes/java/lang/invoke/ValueBootstrapMethods.java 2018-12-07 12:57:52.000000000 -0800 @@ -161,7 +161,7 @@ */ static MethodHandle build(MethodHandles.Lookup lookup) { // build a MethodHandle[] { Class, getter1, getter2, ...} for the lookup class - Class c = lookup.lookupClass(); + Class c = lookup.lookupClass().asValueType(); MethodHandle valueClass = MethodHandles.dropArguments(MethodHandles.constant(Class.class, c), 0, Object.class); MethodHandle[] getters = Stream.concat(Stream.of(valueClass), fields(lookup))