hotspot/src/share/vm/prims/jvm.cpp
changeset 34666 1c7168ea0034
parent 34657 c2e1cc3f503f
child 34869 42925eaf3e79
child 35185 31b4d3da482f
equal deleted inserted replaced
34665:9fdcc78b5398 34666:1c7168ea0034
    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 
  3721 JVM_END
  3724 JVM_END
  3722 
  3725 
  3723 JVM_ENTRY_NO_ENV(jint, JVM_FindSignal(const char *name))
  3726 JVM_ENTRY_NO_ENV(jint, JVM_FindSignal(const char *name))
  3724   return os::get_signal_number(name);
  3727   return os::get_signal_number(name);
  3725 JVM_END
  3728 JVM_END
  3726