diff -r d73f2a3c0fdb -r 23e0d47c1f3e hotspot/src/share/vm/prims/unsafe.cpp --- a/hotspot/src/share/vm/prims/unsafe.cpp Thu Mar 24 10:40:23 2016 +0100 +++ b/hotspot/src/share/vm/prims/unsafe.cpp Thu Mar 24 08:13:28 2016 -0400 @@ -905,7 +905,10 @@ } const Klass* host_klass = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(host_class)); - assert(host_klass != NULL, "invariant"); + // Primitive types have NULL Klass* fields in their java.lang.Class instances. + if (host_klass == NULL) { + THROW_0(vmSymbols::java_lang_IllegalArgumentException()); + } const char* host_source = host_klass->external_name(); Handle host_loader(THREAD, host_klass->class_loader());