jdk/src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java
changeset 29094 a4fd2b5e49f8
parent 29020 9f6d43586ccb
child 30340 d931e2237178
--- 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