Mercurial > hg > graal-jvmci-8
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 |