comparison src/share/vm/prims/jvm.cpp @ 20375:6e0cb14ce59b

8046070: Class Data Sharing clean up and refactoring Summary: Cleaned up CDS to be more configurable, maintainable and extensible Reviewed-by: dholmes, coleenp, acorn, mchung
author iklam
date Thu, 21 Aug 2014 13:57:51 -0700
parents ce8f6bb717c9
children 8cb56c8cb30d
comparison
equal deleted inserted replaced
20374:999824269b71 20375:6e0cb14ce59b
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/symbolTable.hpp" 29 #include "classfile/symbolTable.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"
994 998
995 Klass* k = SystemDictionary::find_instance_or_array_klass(klass_name, 999 Klass* k = SystemDictionary::find_instance_or_array_klass(klass_name,
996 h_loader, 1000 h_loader,
997 Handle(), 1001 Handle(),
998 CHECK_NULL); 1002 CHECK_NULL);
999 1003 #if INCLUDE_CDS
1004 if (k == NULL) {
1005 // If the class is not already loaded, try to see if it's in the shared
1006 // archive for the current classloader (h_loader).
1007 instanceKlassHandle ik = SystemDictionaryShared::find_or_load_shared_class(
1008 klass_name, h_loader, CHECK_NULL);
1009 k = ik();
1010 }
1011 #endif
1000 return (k == NULL) ? NULL : 1012 return (k == NULL) ? NULL :
1001 (jclass) JNIHandles::make_local(env, k->java_mirror()); 1013 (jclass) JNIHandles::make_local(env, k->java_mirror());
1002 JVM_END 1014 JVM_END
1003 1015
1004 1016