42 // 43 // Instances of java.lang.ClassLoader holds a pointer to a ClassLoaderData that 44 // that represent the loader's "linking domain" in the JVM. 45 // 46 // The bootstrap loader (represented by NULL) also has a ClassLoaderData, 47 // the singleton class the_null_class_loader_data(). 48 49 #include "precompiled.hpp" 50 #include "classfile/classLoaderData.inline.hpp" 51 #include "classfile/classLoaderDataGraph.inline.hpp" 52 #include "classfile/dictionary.hpp" 53 #include "classfile/javaClasses.hpp" 54 #include "classfile/moduleEntry.hpp" 55 #include "classfile/packageEntry.hpp" 56 #include "classfile/symbolTable.hpp" 57 #include "classfile/systemDictionary.hpp" 58 #include "logging/log.hpp" 59 #include "logging/logStream.hpp" 60 #include "memory/allocation.inline.hpp" 61 #include "memory/metadataFactory.hpp" 62 #include "memory/iterator.hpp" 63 #include "memory/resourceArea.hpp" 64 #include "memory/universe.hpp" 65 #include "oops/access.inline.hpp" 66 #include "oops/array.hpp" 67 #include "oops/oop.inline.hpp" 68 #include "oops/oopHandle.inline.hpp" 69 #include "oops/weakHandle.inline.hpp" 70 #include "runtime/atomic.hpp" 71 #include "runtime/handles.inline.hpp" 72 #include "runtime/mutex.hpp" 73 #include "runtime/safepoint.hpp" 74 #include "utilities/growableArray.hpp" 75 #include "utilities/macros.hpp" 76 #include "utilities/ostream.hpp" 77 78 ClassLoaderData * ClassLoaderData::_the_null_class_loader_data = NULL; 79 80 void ClassLoaderData::init_null_class_loader_data() { 81 assert(_the_null_class_loader_data == NULL, "cannot initialize twice"); 82 assert(ClassLoaderDataGraph::_head == NULL, "cannot initialize twice"); 83 84 _the_null_class_loader_data = new ClassLoaderData(Handle(), false); 85 ClassLoaderDataGraph::_head = _the_null_class_loader_data; 86 assert(_the_null_class_loader_data->is_the_null_class_loader_data(), "Must be"); | 42 // 43 // Instances of java.lang.ClassLoader holds a pointer to a ClassLoaderData that 44 // that represent the loader's "linking domain" in the JVM. 45 // 46 // The bootstrap loader (represented by NULL) also has a ClassLoaderData, 47 // the singleton class the_null_class_loader_data(). 48 49 #include "precompiled.hpp" 50 #include "classfile/classLoaderData.inline.hpp" 51 #include "classfile/classLoaderDataGraph.inline.hpp" 52 #include "classfile/dictionary.hpp" 53 #include "classfile/javaClasses.hpp" 54 #include "classfile/moduleEntry.hpp" 55 #include "classfile/packageEntry.hpp" 56 #include "classfile/symbolTable.hpp" 57 #include "classfile/systemDictionary.hpp" 58 #include "logging/log.hpp" 59 #include "logging/logStream.hpp" 60 #include "memory/allocation.inline.hpp" 61 #include "memory/metadataFactory.hpp" 62 #include "memory/resourceArea.hpp" 63 #include "memory/universe.hpp" 64 #include "oops/access.inline.hpp" 65 #include "oops/oop.inline.hpp" 66 #include "oops/oopHandle.inline.hpp" 67 #include "oops/weakHandle.inline.hpp" 68 #include "runtime/atomic.hpp" 69 #include "runtime/handles.inline.hpp" 70 #include "runtime/mutex.hpp" 71 #include "runtime/safepoint.hpp" 72 #include "utilities/growableArray.hpp" 73 #include "utilities/macros.hpp" 74 #include "utilities/ostream.hpp" 75 76 ClassLoaderData * ClassLoaderData::_the_null_class_loader_data = NULL; 77 78 void ClassLoaderData::init_null_class_loader_data() { 79 assert(_the_null_class_loader_data == NULL, "cannot initialize twice"); 80 assert(ClassLoaderDataGraph::_head == NULL, "cannot initialize twice"); 81 82 _the_null_class_loader_data = new ClassLoaderData(Handle(), false); 83 ClassLoaderDataGraph::_head = _the_null_class_loader_data; 84 assert(_the_null_class_loader_data->is_the_null_class_loader_data(), "Must be"); |