40 // loader constraints table) as well as the runtime representation of classes
41 // only reference ClassLoaderData.
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.hpp"
51 #include "classfile/classLoaderData.inline.hpp"
52 #include "classfile/javaClasses.hpp"
53 #include "classfile/metadataOnStackMark.hpp"
54 #include "classfile/systemDictionary.hpp"
55 #include "code/codeCache.hpp"
56 #include "memory/gcLocker.hpp"
57 #include "memory/metadataFactory.hpp"
58 #include "memory/metaspaceShared.hpp"
59 #include "memory/oopFactory.hpp"
60 #include "runtime/jniHandles.hpp"
61 #include "runtime/mutex.hpp"
62 #include "runtime/safepoint.hpp"
63 #include "runtime/synchronizer.hpp"
64 #include "utilities/growableArray.hpp"
65 #include "utilities/macros.hpp"
66 #include "utilities/ostream.hpp"
67
68 #if INCLUDE_TRACE
69 #include "trace/tracing.hpp"
70 #endif
71
72 ClassLoaderData * ClassLoaderData::_the_null_class_loader_data = NULL;
73
74 ClassLoaderData::ClassLoaderData(Handle h_class_loader, bool is_anonymous, Dependencies dependencies) :
75 _class_loader(h_class_loader()),
76 _is_anonymous(is_anonymous),
77 // An anonymous class loader data doesn't have anything to keep
78 // it from being unloaded during parsing of the anonymous class.
79 // The null-class-loader should always be kept alive.
|
40 // loader constraints table) as well as the runtime representation of classes
41 // only reference ClassLoaderData.
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.hpp"
51 #include "classfile/classLoaderData.inline.hpp"
52 #include "classfile/javaClasses.hpp"
53 #include "classfile/metadataOnStackMark.hpp"
54 #include "classfile/systemDictionary.hpp"
55 #include "code/codeCache.hpp"
56 #include "memory/gcLocker.hpp"
57 #include "memory/metadataFactory.hpp"
58 #include "memory/metaspaceShared.hpp"
59 #include "memory/oopFactory.hpp"
60 #include "runtime/atomic.inline.hpp"
61 #include "runtime/jniHandles.hpp"
62 #include "runtime/mutex.hpp"
63 #include "runtime/safepoint.hpp"
64 #include "runtime/synchronizer.hpp"
65 #include "utilities/growableArray.hpp"
66 #include "utilities/macros.hpp"
67 #include "utilities/ostream.hpp"
68
69 #if INCLUDE_TRACE
70 #include "trace/tracing.hpp"
71 #endif
72
73 ClassLoaderData * ClassLoaderData::_the_null_class_loader_data = NULL;
74
75 ClassLoaderData::ClassLoaderData(Handle h_class_loader, bool is_anonymous, Dependencies dependencies) :
76 _class_loader(h_class_loader()),
77 _is_anonymous(is_anonymous),
78 // An anonymous class loader data doesn't have anything to keep
79 // it from being unloaded during parsing of the anonymous class.
80 // The null-class-loader should always be kept alive.
|