src/hotspot/share/classfile/systemDictionary.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/hotspot/share/classfile/systemDictionary.cpp Wed Oct 4 21:34:26 2017
--- new/src/hotspot/share/classfile/systemDictionary.cpp Wed Oct 4 21:34:25 2017
*** 102,111 ****
--- 102,112 ----
= { NULL /*, NULL...*/ };
InstanceKlass* SystemDictionary::_box_klasses[T_VOID+1] = { NULL /*, NULL...*/ };
oop SystemDictionary::_java_system_loader = NULL;
+ oop SystemDictionary::_java_platform_loader = NULL;
bool SystemDictionary::_has_loadClassInternal = false;
bool SystemDictionary::_has_checkPackageAccess = false;
// lazily initialized klass variables
*** 115,141 ****
--- 116,154 ----
const int defaultProtectionDomainCacheSize = 1009;
// ----------------------------------------------------------------------------
! // Java-level SystemLoader and PlatformLoader
oop SystemDictionary::java_system_loader() {
return _java_system_loader;
}
! void SystemDictionary::compute_java_system_loader(TRAPS) {
! Klass* system_klass = WK_KLASS(ClassLoader_klass);
! oop SystemDictionary::java_platform_loader() {
! return _java_platform_loader;
+ }
+
+ void SystemDictionary::compute_java_loaders(TRAPS) {
+ Klass* class_loader_klass = WK_KLASS(ClassLoader_klass);
JavaValue result(T_OBJECT);
JavaCalls::call_static(&result,
! WK_KLASS(ClassLoader_klass),
! class_loader_klass,
vmSymbols::getSystemClassLoader_name(),
vmSymbols::void_classloader_signature(),
CHECK);
_java_system_loader = (oop)result.get_jobject();
+ JavaCalls::call_static(&result,
+ class_loader_klass,
+ vmSymbols::getPlatformClassLoader_name(),
+ vmSymbols::void_classloader_signature(),
+ CHECK);
+
+ _java_platform_loader = (oop)result.get_jobject();
+
CDS_ONLY(SystemDictionaryShared::initialize(CHECK);)
}
ClassLoaderData* SystemDictionary::register_loader(Handle class_loader, TRAPS) {
src/hotspot/share/classfile/systemDictionary.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File