equal
deleted
inserted
replaced
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 |