--- a/jdk/src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java Wed Jul 05 20:21:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java Fri Feb 20 18:32:10 2015 +0300
@@ -35,6 +35,7 @@
import static java.lang.invoke.MethodHandleStatics.*;
import java.lang.ref.WeakReference;
import java.lang.reflect.Field;
+import java.util.Objects;
import sun.invoke.util.ValueConversions;
import sun.invoke.util.VerifyType;
import sun.invoke.util.Wrapper;
@@ -439,8 +440,7 @@
// Therefore, the only remaining check is for null.
// Since this check is *not* guaranteed by Unsafe.getInt
// and its siblings, we need to make an explicit one here.
- obj.getClass(); // maybe throw NPE
- return obj;
+ return Objects.requireNonNull(obj);
}
/** This subclass handles static field references. */
@@ -468,8 +468,7 @@
@ForceInline
/*non-public*/ static Object nullCheck(Object obj) {
- obj.getClass();
- return obj;
+ return Objects.requireNonNull(obj);
}
@ForceInline