< prev index next >
src/hotspot/share/classfile/classLoaderData.hpp
Print this page
rev 50866 : 8203826: Chain exception from initialization in later NoClassDefFoundErrors.
@@ -217,10 +217,12 @@
static ClassLoaderData * _the_null_class_loader_data;
WeakHandle<vm_class_loader_data> _holder; // The oop that determines lifetime of this class loader
OopHandle _class_loader; // The instance of java/lang/ClassLoader associated with
// this ClassLoaderData
+ OopHandle _exception_map; // An instance of java/util/Hashtable which maps classes
+ // to the exceptions which occured during class initilisation.
ClassLoaderMetaspace * volatile _metaspace; // Meta-space where meta-data defined by the
// classes in the class loader are allocated.
Mutex* _metaspace_lock; // Locks the metaspace for allocations and setup.
bool _unloading; // true if this class loader goes away
@@ -384,10 +386,12 @@
void init_handle_locked(OopHandle& pd, Handle h); // used for concurrent access to ModuleEntry::_pd field
void add_class(Klass* k, bool publicize = true);
void remove_class(Klass* k);
bool contains_klass(Klass* k);
void record_dependency(const Klass* to);
+ void record_init_exception(OopHandle cls, Handle exc, TRAPS);
+ Handle query_init_exception(OopHandle cls, TRAPS);
PackageEntryTable* packages() { return _packages; }
ModuleEntry* unnamed_module() { return _unnamed_module; }
ModuleEntryTable* modules();
bool modules_defined() { return (_modules != NULL); }
< prev index next >