8243287: Removal of Unsafe::defineAnonymousClass

Reviewed-by: iklam, mchung, alanb, dholmes
This commit is contained in:
Harold Seigel 2021-05-13 12:46:54 +00:00
parent a564f2cbd5
commit e14b026841
122 changed files with 328 additions and 3679 deletions

View file

@ -117,18 +117,17 @@ class ClassLoaderData : public CHeapObj<mtClass> {
Mutex* _metaspace_lock; // Locks the metaspace for allocations and setup.
bool _unloading; // true if this class loader goes away
bool _has_class_mirror_holder; // If true, CLD is dedicated to one class and that class determines
// the CLDs lifecycle. For example, a non-strong hidden class or an
// unsafe anonymous class. Arrays of these classes are also assigned
// the CLDs lifecycle. For example, a non-strong hidden class.
// Arrays of these classes are also assigned
// to these class loader datas.
// Remembered sets support for the oops in the class loader data.
bool _modified_oops; // Card Table Equivalent
int _keep_alive; // if this CLD is kept alive.
// Used for non-strong hidden classes, unsafe anonymous classes and the
// Used for non-strong hidden classes and the
// boot class loader. _keep_alive does not need to be volatile or
// atomic since there is one unique CLD per non-strong hidden class
// or unsafe anonymous class.
// atomic since there is one unique CLD per non-strong hidden class.
volatile int _claim; // non-zero if claimed, for example during GC traces.
// To avoid applying oop closure more than once.
@ -238,15 +237,15 @@ class ClassLoaderData : public CHeapObj<mtClass> {
}
// Returns true if this class loader data is for the system class loader.
// (Note that the class loader data may be for a non-strong hidden class or unsafe anonymous class)
// (Note that the class loader data may be for a non-strong hidden class)
bool is_system_class_loader_data() const;
// Returns true if this class loader data is for the platform class loader.
// (Note that the class loader data may be for a non-strong hidden class or unsafe anonymous class)
// (Note that the class loader data may be for a non-strong hidden class)
bool is_platform_class_loader_data() const;
// Returns true if this class loader data is for the boot class loader.
// (Note that the class loader data may be for a non-strong hidden class or unsafe anonymous class)
// (Note that the class loader data may be for a non-strong hidden class)
inline bool is_boot_class_loader_data() const;
bool is_builtin_class_loader_data() const;
@ -267,8 +266,7 @@ class ClassLoaderData : public CHeapObj<mtClass> {
return _unloading;
}
// Used to refcount a non-strong hidden class's or unsafe anonymous class's CLD in order to
// indicate their aliveness.
// Used to refcount a non-strong hidden class's s CLD in order to indicate their aliveness.
void inc_keep_alive();
void dec_keep_alive();