21 * questions. |
21 * questions. |
22 * |
22 * |
23 */ |
23 */ |
24 |
24 |
25 #include "precompiled.hpp" |
25 #include "precompiled.hpp" |
|
26 #include "classfile/classFileStream.hpp" |
26 #include "classfile/classLoader.hpp" |
27 #include "classfile/classLoader.hpp" |
27 #include "classfile/javaAssertions.hpp" |
28 #include "classfile/javaAssertions.hpp" |
28 #include "classfile/javaClasses.inline.hpp" |
29 #include "classfile/javaClasses.inline.hpp" |
29 #include "classfile/stringTable.hpp" |
30 #include "classfile/stringTable.hpp" |
30 #include "classfile/systemDictionary.hpp" |
31 #include "classfile/systemDictionary.hpp" |
963 } |
964 } |
964 class_name = SymbolTable::new_symbol(name, str_len, CHECK_NULL); |
965 class_name = SymbolTable::new_symbol(name, str_len, CHECK_NULL); |
965 } |
966 } |
966 |
967 |
967 ResourceMark rm(THREAD); |
968 ResourceMark rm(THREAD); |
968 ClassFileStream st((u1*) buf, len, (char *)source); |
969 ClassFileStream st((u1*)buf, len, source, ClassFileStream::verify); |
969 Handle class_loader (THREAD, JNIHandles::resolve(loader)); |
970 Handle class_loader (THREAD, JNIHandles::resolve(loader)); |
970 if (UsePerfData) { |
971 if (UsePerfData) { |
971 is_lock_held_by_thread(class_loader, |
972 is_lock_held_by_thread(class_loader, |
972 ClassLoader::sync_JVMDefineClassLockFreeCounter(), |
973 ClassLoader::sync_JVMDefineClassLockFreeCounter(), |
973 THREAD); |
974 THREAD); |
974 } |
975 } |
975 Handle protection_domain (THREAD, JNIHandles::resolve(pd)); |
976 Handle protection_domain (THREAD, JNIHandles::resolve(pd)); |
976 Klass* k = SystemDictionary::resolve_from_stream(class_name, class_loader, |
977 Klass* k = SystemDictionary::resolve_from_stream(class_name, |
977 protection_domain, &st, |
978 class_loader, |
978 true, CHECK_NULL); |
979 protection_domain, |
|
980 &st, |
|
981 CHECK_NULL); |
979 |
982 |
980 if (TraceClassResolution && k != NULL) { |
983 if (TraceClassResolution && k != NULL) { |
981 trace_class_resolution(k); |
984 trace_class_resolution(k); |
982 } |
985 } |
983 |
986 |