src/share/vm/memory/universe.cpp

Print this page

        

*** 1007,1028 **** return false; // initialization failed (cannot throw exception yet) } Universe::_finalizer_register_cache->init( SystemDictionary::Finalizer_klass(), m); ! InstanceKlass::cast(SystemDictionary::misc_Unsafe_klass())->link_class(CHECK_false); ! m = InstanceKlass::cast(SystemDictionary::misc_Unsafe_klass())->find_method( vmSymbols::throwIllegalAccessError_name(), vmSymbols::void_method_signature()); if (m != NULL && !m->is_static()) { // Note null is okay; this method is used in itables, and if it is null, // then AbstractMethodError is thrown instead. tty->print_cr("Unable to link/verify Unsafe.throwIllegalAccessError method"); return false; // initialization failed (cannot throw exception yet) } Universe::_throw_illegal_access_error_cache->init( ! SystemDictionary::misc_Unsafe_klass(), m); // Setup method for registering loaded classes in class loader vector InstanceKlass::cast(SystemDictionary::ClassLoader_klass())->link_class(CHECK_false); m = InstanceKlass::cast(SystemDictionary::ClassLoader_klass())->find_method(vmSymbols::addClass_name(), vmSymbols::class_void_signature()); if (m == NULL || m->is_static()) { --- 1007,1028 ---- return false; // initialization failed (cannot throw exception yet) } Universe::_finalizer_register_cache->init( SystemDictionary::Finalizer_klass(), m); ! InstanceKlass::cast(SystemDictionary::internal_Unsafe_klass())->link_class(CHECK_false); ! m = InstanceKlass::cast(SystemDictionary::internal_Unsafe_klass())->find_method( vmSymbols::throwIllegalAccessError_name(), vmSymbols::void_method_signature()); if (m != NULL && !m->is_static()) { // Note null is okay; this method is used in itables, and if it is null, // then AbstractMethodError is thrown instead. tty->print_cr("Unable to link/verify Unsafe.throwIllegalAccessError method"); return false; // initialization failed (cannot throw exception yet) } Universe::_throw_illegal_access_error_cache->init( ! SystemDictionary::internal_Unsafe_klass(), m); // Setup method for registering loaded classes in class loader vector InstanceKlass::cast(SystemDictionary::ClassLoader_klass())->link_class(CHECK_false); m = InstanceKlass::cast(SystemDictionary::ClassLoader_klass())->find_method(vmSymbols::addClass_name(), vmSymbols::class_void_signature()); if (m == NULL || m->is_static()) {