hotspot/src/share/vm/prims/jvm.cpp
changeset 26135 82b516c550f7
parent 25716 fc9bd7814b10
child 26412 80741eb33ba2
equal deleted inserted replaced
25956:99be217ac88d 26135:82b516c550f7
    26 #include "classfile/classLoader.hpp"
    26 #include "classfile/classLoader.hpp"
    27 #include "classfile/javaAssertions.hpp"
    27 #include "classfile/javaAssertions.hpp"
    28 #include "classfile/javaClasses.hpp"
    28 #include "classfile/javaClasses.hpp"
    29 #include "classfile/stringTable.hpp"
    29 #include "classfile/stringTable.hpp"
    30 #include "classfile/systemDictionary.hpp"
    30 #include "classfile/systemDictionary.hpp"
       
    31 #if INCLUDE_CDS
       
    32 #include "classfile/sharedClassUtil.hpp"
       
    33 #include "classfile/systemDictionaryShared.hpp"
       
    34 #endif
    31 #include "classfile/vmSymbols.hpp"
    35 #include "classfile/vmSymbols.hpp"
    32 #include "gc_interface/collectedHeap.inline.hpp"
    36 #include "gc_interface/collectedHeap.inline.hpp"
    33 #include "interpreter/bytecode.hpp"
    37 #include "interpreter/bytecode.hpp"
    34 #include "memory/oopFactory.hpp"
    38 #include "memory/oopFactory.hpp"
    35 #include "memory/universe.inline.hpp"
    39 #include "memory/universe.inline.hpp"
   991 
   995 
   992   Klass* k = SystemDictionary::find_instance_or_array_klass(klass_name,
   996   Klass* k = SystemDictionary::find_instance_or_array_klass(klass_name,
   993                                                               h_loader,
   997                                                               h_loader,
   994                                                               Handle(),
   998                                                               Handle(),
   995                                                               CHECK_NULL);
   999                                                               CHECK_NULL);
   996 
  1000 #if INCLUDE_CDS
       
  1001   if (k == NULL) {
       
  1002     // If the class is not already loaded, try to see if it's in the shared
       
  1003     // archive for the current classloader (h_loader).
       
  1004     instanceKlassHandle ik = SystemDictionaryShared::find_or_load_shared_class(
       
  1005         klass_name, h_loader, CHECK_NULL);
       
  1006     k = ik();
       
  1007   }
       
  1008 #endif
   997   return (k == NULL) ? NULL :
  1009   return (k == NULL) ? NULL :
   998             (jclass) JNIHandles::make_local(env, k->java_mirror());
  1010             (jclass) JNIHandles::make_local(env, k->java_mirror());
   999 JVM_END
  1011 JVM_END
  1000 
  1012 
  1001 
  1013